Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

Resmi kendi etrafında döndürme

Konu, 'C#' kısmında utebay tarafından paylaşıldı.

  1. utebay

    utebay Yeni Üye

    Kayıt:
    31 Mart 2006
    Mesajlar:
    21
    Beğenilen Mesajlar:
    0
    Merhaba
    resmi sürüklemeyi ve büyütüp küçülte yapabiliyorum ama resmi döndürme kodunda hata vermiyor ama resmide kendi etrafında döndüremiyorum hatam nerede olabilir.
    public void INIT()
    {
    imgSource.MouseLeftButtonDown += (ss, ee) =>
    {
    firstPoint = ee.GetPosition(this);
    imgSource.CaptureMouse();
    };

    imgSource.MouseWheel += (ss, ee) =>
    {
    Matrix mat = imgSource.RenderTransform.Value;
    Point mouse = ee.GetPosition(imgSource);
    if (ee.LeftButton== MouseButtonState.Pressed)
    {
    //döndürme
    if (ee.Delta>0) mat.RotateAtPrepend(2,mouse.X,mouse.Y);
    else mat.RotateAtPrepend(-2,mouse.X,mouse.Y);
    }
    else
    { //ZOOM
    if (ee.Delta > 0) mat.ScaleAtPrepend(1.15, 1.15, mouse.X, mouse.Y);
    else mat.ScaleAtPrepend(1/1.15,1/1.5, mouse.X, mouse.Y);
    }
    MatrixTransform mtf = new MatrixTransform(mat);
    imgSource.RenderTransform = mtf;
    };

    //sürükleme
    imgSource.MouseMove += (ss, ee) =>
    {
    if (ee.LeftButton == MouseButtonState.Pressed)
    {
    Point temp = ee.GetPosition(this);
    Point res = new Point(firstPoint.X - temp.X, firstPoint.Y - temp.Y);
    Canvas.SetLeft(imgSource, Canvas.GetLeft(imgSource) - res.X);
    Canvas.SetTop(imgSource, Canvas.GetTop(imgSource) - res.Y);
    firstPoint = temp;
    }
    };
    imgSource.MouseUp += (ss, ee) => { imgSource.ReleaseMouseCapture(); };
    }