Balik bitmap di .NET Compact Framework

Saya memiliki objek Bitmap yang terkadang perlu saya balikkan secara horizontal, terkadang vertikal, terkadang keduanya. Kerangka kerja lengkap memiliki metode Image.RotateFlip() yang persis seperti yang saya butuhkan. Sayangnya seperti kebanyakan fitur berguna pada kerangka penuh, metode ini tidak ada pada kerangka kompak. Apakah ada cara sederhana untuk melakukan hal ini? Yang terbaik yang bisa saya temukan adalah ini, tetapi menggunakan kode tidak aman yang saya' ingin kuhindari dan ia hanya bisa melakukan rotasi bukan membalik.

Sunting: Oke, saya menemukan cara untuk melakukan beberapa optimasi di mana saya hanya perlu melakukan pembalikan vertikal.


person Jason    schedule 13.08.2009    source sumber
comment
Jason, tautan yang sama menggunakan metode yang aman untuk memutar. Dikatakan butuh hampir 3 menit untuk menyelesaikan rotasi 90 derajat pada gambar 800x600 piksel yang menurut saya terlalu lama. saya akan mencobanya di perangkat Anda untuk melihat kinerjanya dan mungkin mencari hambatan. Menurut pengalaman saya, metode mendapatkan dan mengatur piksel cukup cepat. Selain itu, ini hanyalah langkah kecil dalam logika dari rotasi ke pembalikan...   -  person Paul Sasik    schedule 13.08.2009
comment
Mengapa menghindari kode yang tidak aman? Cepat, berfungsi, dan sepenuhnya legal dalam bahasa tersebut.   -  person ctacke    schedule 13.08.2009


Jawaban (2)


CF tidak mendukungnya, tetapi jika perangkat Anda mendukung Imaging Library, maka Anda dapat P/Invoke ke IBasicBitmapOps::Balik. SDF sudah menyertakan ini dalam kelas OpenNETCF.Drawing.Imaging.ImageUtils.

person ctacke    schedule 13.08.2009
comment
Inilah yang saya cari. Saya sudah menerapkannya sendiri menggunakan manipulasi penunjuk yang tidak aman, tetapi ini mungkin cara yang lebih aman. - person Jason; 13.08.2009

Saya baru-baru ini membaca artikel tentang ini. Saya belum mencobanya, karena saya memerlukan rotasi selain 90/180/270, tetapi ini diklaim sebagai cara cepat untuk memutar.

http://www.codeproject.com/KB/graphics/ImageRotationForCF.aspx

[sunting] sial, saya tidak membaca dengan benar, Anda sudah menemukan ini.. maaf.

person Jeroen Pot    schedule 29.08.2009