Midlet'te Bir Resmin Bir Parçasını Ekrana Çizme Örneği
Giriş
Resim
Birden fazla resim dosyasını tek bir resim dosyasında birleştirip, midlette kullanabilirsiniz. Ayrı ayrı olan dosyalar daha fazla yer tutarlar. Tek bir resim dosyası optimize(sıkıştırma,boyutunu azaltma) işelminden geçirildiğinde daha çok sıkıştırılabilmektedir. Ayrı ayrı dosyalar daha az sıkışırlar. Cep telefonlarını hafızaları sınırlı olduğu için resim dosyalarının küçültülmesi önemlidir. Bu örnekte aynı resimde bulunan meteorların bir tanesinin nasıl çizileceği gösterilecektir.
all.png 4 meteor içeren bir resimdir. Biz bu örnekte bu 4 dört meteordan ilkini çizdik. drawImage() method'u canvas'ın 0,0 noktasına göre verilen bir x,y noktasına image çizmek için kullanılır. Şimdi biz ilk meteoru 10,10 noktasına çizmek istiyoruz. Her meteor'un genişliğinin 32, yüksekliğinin 27 olduğunu biliyoruz. O halde çizmek istediğimiz 10,10 noktasına, genişliği 32 yüksekliği 27 olan bir clip set ederiz. Bunu bir defter sayfasından bir dikdörtgen kesmek gibi düşünebiliriz. Defter sayfasını resmin üzerinde koyarsak resmin sadece sayfanın kesilen kısmına denk gelen kısmı gözükür.
g.setClip(x,y,w,h);
Bu şekilde bir kısım keserseniz kesilen dikdörtgenin dışındaki bölgedeki çizimler gözükmez. Sadece bu dikdörtgen içindeki resimler gözükür. Bundan sonra büyük resmi öyle bir x,y noktasına koymalıyız ki, çizmek istediğimiz ilk meteor clip ettiğimiz dikdörtgenin içine denk gelsin. Bunun için clip ettiğimiz x,y noktasına, büyük resmi çizersek ilk meteor gözükmüş olur. İkinci meteoru görmek istiyorsak büyük resmin x'sini ilk meteor kadar azaltmalıyız. (x-32) (x clip ettiğimiz x) böylece ikinci meteor gözükür. 3. meteoru görmek için büyük resmin x'sini x-2*32, son meteoru görmek için x-3*32 yaparız.