Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Mengezum dan Menyorot Imej dengan betul dari Lokasi Tetikus dalam C#?
Apabila cuba mengezum dan menskalakan imej dari lokasi tetikus, imej melompat dan gagal berskala dari asal yang dipindahkan. Putaran, skala dan sorot berfungsi dengan betul tanpa menterjemah ke lokasi tetikus.
Untuk mencapai zum dan menterjemah imej dari lokasi tetikus, kami menggunakan strategi berikut:
private void pnl1_Paint(object sender, PaintEventArgs e) { // Apply rotation angle @ center of bitmap e.Graphics.TranslateTransform(img.Width / 2, img.Height / 2); e.Graphics.RotateTransform(ang); e.Graphics.TranslateTransform(-img.Width / 2, -img.Height / 2); // Apply scaling factor - focused @ mouse location e.Graphics.TranslateTransform(mouse.X, mouse.Y, MatrixOrder.Append); e.Graphics.ScaleTransform(zoom, zoom, MatrixOrder.Append); e.Graphics.TranslateTransform(-mouse.X, -mouse.Y, MatrixOrder.Append); // Apply drag (pan) location e.Graphics.TranslateTransform(imgX, imgY, MatrixOrder.Append); // Draw "bmp" @ location e.Graphics.DrawImage(img, 0, 0); }
Atas ialah kandungan terperinci Bagaimana untuk Mengezum dan Menyorot Imej dengan betul dari Lokasi Tetikus dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!