İçeriğin rss beslemesi kullanımda değil Soru - Cevap Bölümü / Kategori: Programlama

28/01/2006 - 22:34:20 cevap (3) Okunma : 7101 Bu yazıyı 1 kişi tuttu.

Flashla dışardan yüklenen resmi boyutlandırma

merhabalar,been aranıza yeni katıldım.umarım güzel paylaşımlar yaşarız.

ben sahne içine dışardan resim veya swf dosyası çektiğimde buna idtediğim transform değerlerini verebilmek istiyorum.

bunu yapmak resmi önceden düzenlemeden mümkünmü?

adres Safakizilkaya profilini göster
Safakizilkaya 03.02.2006 21:51:31
En iyi cevap mı ?
Faydalı cevap

Merhaba, aşağıdaki kod, bir resmi nasıl boyutlandıracağınız konusunda size fikir verecektir. Bu kod, flash uygulamasının ilk frame’inde olmalıdır.

// Kütüphanemizde, attachMovie yöntemi ile sahneye çağıracağımız 2
//adet film klibimiz olmalıdır(boyutlandir ve buton)
// her iki film klibimizin de linkage seçeneği aktif edilmiş olmalıdır
// buton film klibimizin identifier'ı 'buton' olmalıdır ve basit bir buton görünümüne
//sahip olmalıdır.
//boyutlandir film klibimizin identifier'ı 'boyutlandir' olmalıdır ve boş bir film klibi
// biçimde düzenlenmelidir.
//buton film klibi ile resimleri çağıracağız, boyutlandir film klibi
//ile çağırdığımız resimleri yeniden boyutlandıracağız.
//burada önemli olan, resimlerin en-boy oranlarını koruyarak (proportions)
// boyutlandırma işlemini yapabilmektir.
//---kod başlangıcı--//
//attachmovie işleminin her resimde bir üst derinlik
//seviyesine ulaşması için derinlik değişkeni atayalım
derinlik = 0;
// boyutlandir film klibinin bir resme uygulayacağı
// maksimum genişlik değerini atayalım
maxWidth = 400;
// boyutlandir film klibinin bir resme uygulayacağı
// maksimum yükseklik değerini  atayalım
maxHeight = 300;
//yüklenecek olan resimleri ya da swf dosyalarını bir dizi içerisine 
//atayalım. Bu isimler, farklı biçimlerde de olabilir.
//önemli olan, dosya uzantılarını yazmadan yalnızca isimleri dizi içerisinde bildirmektir.
//Eğer bu örnekteki gibi .jpg uzantılı dosyalar değil de
//.swf uzantılı dosyalar yükleyecekseniz *//jpg.loadMovie(resimler[Number(this._name.substr(3))]+'.jpg');//*
//kod satırının sonundaki '.jpg' ifadesini .swf biçiminde düzenlemelisiniz.
resimler = ['1', '2', '3'];
//boyutlandir film klibimizi sahneye çağıralım
this.attachMovie('boyutlandir', 'boyutlandir', derinlik++);
//boyutlandir film klibinin yeniden boyutlandırdığı
//resimleri içerisine yükleyeceğimiz jpgisimli boş  film klibini
//  ve x ve y değerlerini deklare edelim 
this.createEmptyMovieClip('jpg', derinlik++);
jpg._x = jpg._y=250;
// Buton tarafından çağrılacak olan resim yükleme fonksiyonunu
//deklare edelim
resimYukle = function () {
    //butonumuz resim yükle fonksiyonunu tetiklediğinde
    //jpg film klibine resimler dizisinden resim adını
    //seçelim ve .jpg uzantısı ile birleştirerek 
    //yükleyelim
    jpg.loadMovie(resimler[Number(this._name.substr(3))]+'.jpg');
    // boyutlandir film klibine bir onenterframe fonsiyonu atayalım
    //ve yükleme işleminin gerçekleşip gerçekleşmediğini
    //kontrol edelim
    boyutlandir.onEnterFrame = function() {
        if (jpg.getBytesTotal()>0 && jpg.getBytesLoaded() == jpg.getBytesTotal()) {
            //yükleme gerçekleşmişse, resmi içeren jpg film klibini
            //görünür kılalım
            jpg._visible = true;
            //Eğer yüklenen resim, deklare ettiğimiz maksimum yükseklik ve genişlik
            //değerlerinden büyük ise
            //yeniden boyutlandıralım
            if (jpg._width>maxWidth || jpg._height>maxHeight) {
                jpg._xscale = jpg._yscale=Math.min(100*maxWidth/jpg._width, 100*maxHeight/jpg._height);
            }
            // boyutlandir film klibinin toplam genişliğini       
            //butonlarımızı da hesaba katarak belirtelim
            // ve yeniden boyutlandırma işlemini başlatalım
            boyutlandirWidth = jpg._width+btns._width+10;
            deltaX = Math.round((boyutlandirWidth-boyutlandir._width));
            boyutlandirWidth = deltaX+boyutlandir._width;
            deltaY = Math.round((jpg._height+20-boyutlandir._height));
            jpg.onEnterFrame = function() {
                if ((boyutlandir._width<boyutlandirWidth && deltaX>0) || (boyutlandir._width>boyutlandirWidth && deltaX<0)) {
                    boyutlandir._width += deltaX;
                    boyutlandir._height += deltaY;
                    btns._x = 10;
                }
            };
        }
    };
};
// yükleyeceğimiz resimler, birden fazla olduğuna göre
//sahnedeki butonumuzu da resim sayısına göre çoğaltmalıyız
//bunun için bir boş film klibi yaratalım
// ve buton film klibimizi ve varsa diğer örneklerini
//bu film klibinin içine alalım
this.createEmptyMovieClip('btns', derinlik++);
btns._x = btns._y=10;
for (var i = 0; i<resimler.length; i++) {
    btns.attachMovie('buton', 'btn'+i, i, {_y:20*i, image:resimler[i], onRelease:resimYukle});
}

uygulamayı test etmek için, kodda yer alan dizideki resim isimlerine sahip büyük boyutlarda resimler oluşturun ve yükleyin. Resimlerin yeniden boyutlandırıldığını ve en-boy oranlarının sabit kaldığını görmelisiniz.

iyi dileklerimle.

adres Y.Can Yurdaer profilini göster
Y.Can Yurdaer 11.05.2007 14:36:40
En iyi cevap mı ?

Güzel Paylaşım Teşşekürler. Emeğinize Sağlık

adres umutilbas profilini göster
umutilbas 30.05.2007 20:00:26
En iyi cevap mı ?
if(resmi_yuklediginiz_mc._width > istenilen_genislik){
resmi_yuklediginiz_mc._width = istenilen_genislik;
resmi_yuklediginiz_mc._yscale = resmi_yuklediginiz_mc._xscale;
}
if(resmi_yuklediginiz_mc._height > istenilen_yukseklik){
resmi_yuklediginiz_mc._height = istenilen_yukseklik;
resmi_yuklediginiz_mc._xscale = resmi_yuklediginiz_mc._yscale;
}

(bu koda birde resim yüklendiğince çalışmasını belirten bir tetikleyici koymak gerekir ama boyutlandırma işlemi için gerekli kod bu kadardır)

tabiki seviyeniz daha ilerideyse uygulanması gereken diğer kurallara uymanız gerekecektir.

aç-kapa Bu Yazıyı Tutanlar

yeni üyelik | şifremi unuttum

aç-kapa Yarışma Fikir10000 Dijital Pazarlama Fikir Yarışması

Fikir10000 Dijital Pazarlama Fikir Yarışması

ADTECH tarafından düzenlenen Fikir10000 yarışmasına; dijital pazarlama ile ilgili size ait olan fikrinizle katılabilir ve 10.000 YTL’lik birinci...
Kategori: Yarışma

aç-kapa Toplantı Kahraman ve need4code.com Projesi Connect Toplantısı

Kahraman ve need4code.com Projesi Connect Toplantısı

Selam arkadaslar, Programlama ile uğraşanların hayatlarını kolaylaştıracak desktop ve web tabanlı ortak iki proje ile ilgili 3. toplantımızı 16Aralı...
Kategori: Toplantı

aç-kapa Yarışma 7Dx Demoscene Party

7Dx Demoscene Party

2002 yılından beri amatör bilgisayar kültürü ile ilgilenen insanları bir araya getirmeyi hedefleyen 7DX parti serisinin bu seneki ayağı olan 7D8 Demo ...
Kategori: Yarışma

aç-kapa Eğitim Türkiye'de İnternet Konferansı - Internet Teknolojileri Derneği -22-23 Aralık ODTÜ

Türkiye'de İnternet Konferansı - Internet Teknolojileri Derneği -22-23 Aralık ODTÜ

Etkin Katılım Çağrısı Türkiye’de Internet ile ilgili grupları biraraya getirerek İnternet’i tum boyutlarıyla tanıtmak, gelistirmek, tartı...
Kategori: Eğitim

aç-kapa Konferans Bilgi Güvenliği ve Kriptoloji Konferansı

Bilgi Güvenliği ve Kriptoloji Konferansı

Önemli Tarihler: Etkinlik Tarihi : 24-26 Aralık 2008 Son Bildiri Gönderme Tarihi : 20 Ekim 2008 Bildiri Kabul Tarihi Bildirimi :...
Kategori: Konferans

üyeler Son Kahramanlar...

stats Kimler Burada? web stats

Son 1 dakika içinde MMIstanbul' da 559 (1 kayıtlı, 558 ziyaretçi) kullanıcı varmış. Login durumda olanlar aşağıda:

coldfusion mysql ubuntu
 
sponsor adobe istanbul