Advertisement
csaki

Image drawing

Oct 8th, 2013
153
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.42 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9.  
  10. namespace grafika_oszlopdiagram
  11. {
  12.     public partial class Form1 : Form
  13.     {
  14.         Graphics g;
  15.         Image image;
  16.         Bitmap bmp;
  17.         int staticLength;
  18.         int trackbar_X = 0;
  19.         int trackbar_Y = 0;
  20.         int trackbar_forgat = 0;
  21.         int kulonbsegX;
  22.         int kulonbsegY;
  23.         int kulonbsegFok;
  24.         bool minusz_X;
  25.         bool minusz_Y;
  26.  
  27.         public Form1()
  28.         {
  29.             InitializeComponent();
  30.             g = CreateGraphics();
  31.             g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
  32.             image = Image.FromFile(@"c:\documents and settings\user\bevgrafgyak\grafika_oszlopdiagram\grafika_oszlopdiagram\Kék hegyek.jpg");
  33.             staticLength = (int)(image.Width * 0.1);
  34.             bmp = new Bitmap(image, staticLength, staticLength);
  35.         }
  36.  
  37.         private void button1_Click(object sender, EventArgs e)
  38.         {
  39.             Kirajzol(minusz_X, minusz_Y);
  40.         }
  41.  
  42.         private void trackBar1_Scroll(object sender, EventArgs e)
  43.         {
  44.             kulonbsegX = trackBar1.Value - trackbar_X;
  45.             g.TranslateTransform(kulonbsegX, 0);
  46.             Kirajzol(minusz_X, minusz_Y);
  47.             trackbar_X = trackBar1.Value;
  48.         }
  49.  
  50.         public void Kirajzol(bool minusz_X, bool minusz_Y)
  51.         {
  52.             Invalidate();
  53.             Update();
  54.             g.DrawImage(bmp, 300, 200, minusz_X ? staticLength : -staticLength, minusz_Y ? staticLength : -staticLength);
  55.         }
  56.  
  57.         private void trackBar2_Scroll(object sender, EventArgs e)
  58.         {
  59.             kulonbsegY = trackBar2.Value - trackbar_Y;
  60.             g.TranslateTransform(0, -kulonbsegY);
  61.             Kirajzol(minusz_X, minusz_Y);
  62.             trackbar_Y = trackBar2.Value;
  63.         }
  64.  
  65.         private void button2_Click(object sender, EventArgs e)
  66.         {
  67.             Kirajzol(minusz_X, minusz_Y);
  68.             minusz_X = !minusz_X;
  69.         }
  70.  
  71.         private void button3_Click(object sender, EventArgs e)
  72.         {
  73.             Kirajzol(minusz_X, minusz_Y);
  74.             minusz_Y = !minusz_Y;
  75.         }
  76.  
  77.         private void trackBar3_Scroll(object sender, EventArgs e)
  78.         {
  79.             kulonbsegFok = trackBar3.Value - trackbar_forgat;
  80.             g.TranslateTransform(220 + staticLength / 2, 120 + staticLength / 2); // Hogy miért 220 és miért 120 ( 300 és 200 helyett, GŐZÖM SINCS - de működik. :D)
  81.             g.RotateTransform(kulonbsegFok);
  82.             g.TranslateTransform(-(220 + staticLength / 2), -(120 + staticLength / 2));
  83.             Kirajzol(minusz_X, minusz_Y);
  84.             trackbar_forgat = trackBar3.Value;
  85.  
  86.            
  87.         }
  88.  
  89.         private void trackBar4_Scroll(object sender, EventArgs e)
  90.         {
  91.             float skala = (float)(trackBar4.Value * 0.1);
  92.             g.TranslateTransform(220 + staticLength / 2, 120 + staticLength / 2);
  93.             g.ScaleTransform((float)(1 / skala), (float)(1 / skala));
  94.             g.ScaleTransform((float)(trackBar4.Value * 0.1), (float)(trackBar4.Value * 0.1));
  95.             g.TranslateTransform(-(220 + staticLength / 2), -(120 + staticLength / 2));
  96.         }
  97.  
  98.         // Hátravan: skálázás (méret növelése/csökkentése) -> ScaleTransform
  99.        
  100.     }
  101. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement