Zoom atau malapetaka?

Temukan gambar dalam koleksi Anda yang dapat digunakan sebagai latar belakang penampil Deep Zoom Anda, sebagaimana kami akan menyebut aplikasi ini – mungkin semacam tekstur? Ini bukan kasus drag-and-drop, tapi tidak sulit jika Anda tahu caranya. Gunakan Proyek | Tambahkan Item yang Ada dan navigasikan ke gambar ini, yang akan menambahkan gambar tersebut ke proyek Anda. Selanjutnya, seret gambar ke area desain Anda, sebaiknya jauh dari desain utama Anda. Sekarang buat Resource ImageBrush dari gambar ini dengan memilih Tools | Membuat Sumber Kuas | Jadikan Sumber Daya ImageBrush. Setelah Anda selesai melakukannya, Anda dapat memilih kotak hitam yang berlubang, dan Brush Resource dari panel Brushes dan voila! Kotak membosankan Anda masih memiliki lubang elips tetapi tidak lagi hitam dan memiliki grafis yang bagus. Sekarang mulai terlihat sedikit lebih baik.

Zoom atau malapetaka?

Salah satu alasan untuk mengembangkan aplikasi di Silverlight adalah kemudahan pencapaiannya animasi, jadi menurut saya akan lebih keren jika memiliki roda yang berputar saat Anda memperbesar atau memperkecil roda mouse. Prinsipnya di sini adalah menyambungkan properti sudut gambar roda gigi ke fungsi Zoom, jadi pertama-tama kita memerlukan gambar yang sesuai. Karena gambar roda gigi saya memiliki jeruji, saya memerlukan gambar transparan agar latar belakangnya terlihat jelas. Pilihan pertama saya adalah GIF transparan, tetapi karena Expression Blend tidak mendukungnya (aargh!). Setelah sedikit percobaan saya menemukan bahwa PNG juga berfungsi.

Langkah selanjutnya adalah mengaktifkan RotateTransform pada objek, yang dilakukan dalam kode XAML aplikasi Silverlight Anda, di dalam tag Gambar:

Saya juga memberi nama unik pada RotateTransform untuk gambar itu, TCog1, yang akan membuatnya lebih mudah diakses dari kode saya. Sekarang di halaman kode page.xaml.cs, tambahkan baris berikut ke fungsi yang menangani zoom. Dalam kode yang dihasilkan oleh Deep Zoom Composer, cari “public void Zoom (double zoom, Point pointToZoom )” dan tambahkan:

jika (Faktor Zoom >= 1.2)

{

TCog1.Sudut = TCog1.Sudut – 12

}

kalau tidak

{

TCog1.Sudut = TCog1.Sudut + 12;

}

Klausa “lain” ada sehingga roda gigi berputar ke arah yang berbeda tergantung pada apakah Anda memperbesar atau memperkecil. Pekerjaan selesai! Jika Anda ingin melihat karya saya, Anda dapat melakukannya di www.ecats.co.uk/wbfphotos.

Seperti yang Anda lihat, membuat aplikasi Deep Zoom dasar berfungsi tidak lagi sulit, dan selebihnya terserah kemampuan desain kreatif Anda. Jadi kenapa aku butuh waktu lama sekali? Terlepas dari alat pengembangan yang mogok, dan kesenangan mencari tahu cara mencapai rotasi, ada beberapa bug kecil yang menyenangkan yang pasti akan membuat Anda tersandung! Ambil contoh, mengatur titik asal rotasi. Untuk benda berbentuk lingkaran, titik rotasi yang jelas adalah pusatnya, yang dapat didefinisikan sebagai 0,0. Tidak di Blend, tidak. Titik asal 0,0 menyebabkan seluruh objek terbang mengelilingi latar belakang Anda membentuk busur besar, yang hampir tidak optimal. Namun, menyetel titik asal ke 0.5,0.5 berfungsi dengan baik, meskipun dengan bagian tengahnya yang sedikit di luar pusat, roda gigi terlihat sedikit goyah. Hanya satu dari banyak cara pengembangan produk beta membuat hidup Anda sedikit lebih menarik!