Artikel ini menangani isu mengezum (menskalakan) imej daripada lokasi tetikus menggunakan perubahan dalam acara Cat. Selepas menterjemahkan asal bitmap ke lokasi tetikus, imej itu diskalakan dan asalnya diterjemahkan kembali. Walau bagaimanapun, imej "melompat" dan gagal berskala dari asal yang dipindahkan semasa terjemahan lokasi tetikus.
Untuk menyelesaikan isu ini, kami melaksanakan strategi berikut:
Untuk demonstrasi visual, kod sampel kami melaksanakan empat mod zum dalam kawalan PictureBoxEx tersuai:
Kod yang disediakan dalam jawapan memperkenalkan kawalan tersuai PictureBoxEx yang diwarisi daripada PictureBox dan termasuk fungsi tersuai. Ia juga termasuk pembolehubah kanvas, yang mewakili kawalan tersuai yang ditambahkan pada borang semasa permulaan. Enum ZoomMode digunakan untuk mentakrifkan mod zum yang berbeza.
Pengendali acara untuk acara tetikus dan bar trek, serta logik lukisan teras, mengendalikan operasi zum dan putaran berdasarkan mod zum yang dipilih.
Ingat untuk mengubah suai rentetan imagePath ke laluan sebenar fail imej anda sebelum menjalankan kod.
Pendekatan ini menyediakan kaedah yang lebih cekap dan stabil untuk mengezum dan menterjemah imej dari lokasi tetikus. Ia mengurangkan kemungkinan artifak visual yang tidak dijangka atau isu prestasi apabila mengendalikan transformasi yang kompleks.
Atas ialah kandungan terperinci Bagaimana untuk Mengezum dan Menterjemah Imej dengan Betul dari Lokasi Tetikus dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!