Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> dopasowanie obrazu do popup
mokry
post
Post #1





Grupa: Zarejestrowani
Postów: 374
Pomógł: 23
Dołączył: 3.06.2006
Skąd: Katowice

Ostrzeżenie: (0%)
-----


kiedys na jakiejs stronce widzialem okienko popup dopasowujace sie do rozmiarow obrazu...
oczywiscie zapomnialem adresu i stap pytanie:
czy ktos sie z tym spotkal i jesli tak to gdzie/jaki kod?

na pewno bylo to w js bo jeszcze zagladalem do zrodel.
niestety moj organiczny RAM ni prcuje czase na najwyzszej czestotliwosci... :/
Go to the top of the page
+Quote Post
wipo
post
Post #2





Grupa: Zarejestrowani
Postów: 856
Pomógł: 19
Dołączył: 30.08.2005
Skąd: 100lica

Ostrzeżenie: (0%)
-----


Najpierw sprawdzasz wielkość obrazka w php to getimagesize()
Następnie w body onload="window.resizeTo(x,y); ewentualnie window.moveTo(x,y)"
Go to the top of the page
+Quote Post
mokry
post
Post #3





Grupa: Zarejestrowani
Postów: 374
Pomógł: 23
Dołączył: 3.06.2006
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Nie ma możliwości zczytania rozmiarów obrazu przez samo JS?
W php nie mam żadnego problemu zrobić coś takiego... Ale widziałem rozwiązanie i wydawało mi się że było w samym JS...

Poprzeglądam jeszcze biblioteki lightbox'a... On nie korzysta z php, a ładnie dopasowuje się do zdjęcia...

Kod
    resizeImageContainer: function( imgWidth, imgHeight) {

        // get current height and width
        this.wCur = Element.getWidth('outerImageContainer');
        this.hCur = Element.getHeight('outerImageContainer');

        // scalars based on change from old to new
        this.xScale = ((imgWidth  + (borderSize * 2)) / this.wCur) * 100;
        this.yScale = ((imgHeight  + (borderSize * 2)) / this.hCur) * 100;

        // calculate size difference between new and old image, and resize if necessary
        wDiff = (this.wCur - borderSize * 2) - imgWidth;
        hDiff = (this.hCur - borderSize * 2) - imgHeight;

        if(!( hDiff == 0)){ new Effect.Scale('outerImageContainer', this.yScale, {scaleX: false, duration: resizeDuration, queue: 'front'}); }
        if(!( wDiff == 0)){ new Effect.Scale('outerImageContainer', this.xScale, {scaleY: false, delay: resizeDuration, duration: resizeDuration}); }

        // if new and old image are same size and no scaling transition is necessary,
        // do a quick pause to prevent image flicker.
        if((hDiff == 0) && (wDiff == 0)){
            if (navigator.appVersion.indexOf("MSIE")!=-1){ pause(250); } else { pause(100);}
        }

        Element.setHeight('prevLink', imgHeight);
        Element.setHeight('nextLink', imgHeight);
        Element.setWidth( 'imageDataContainer', imgWidth + (borderSize * 2));

        this.showImage();
    },


EDIT:
Z lightbox'a wyciągnąłem taki oto kod powyżej... Myśle że tutaj coś jest, ale nie jestem pewien.
Na JS niestety nie znam się poza funkcją writeln (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
...?

Ten post edytował mokry 14.01.2007, 11:28:27
Go to the top of the page
+Quote Post
wipo
post
Post #4





Grupa: Zarejestrowani
Postów: 856
Pomógł: 19
Dołączył: 30.08.2005
Skąd: 100lica

Ostrzeżenie: (0%)
-----


A jak znasz chociaż podstawy języka angielskiego to bez problemu zauważysz gdzie co jest (bo jest to opisane)
Go to the top of the page
+Quote Post
lopik
post
Post #5





Grupa: Zarejestrowani
Postów: 340
Pomógł: 0
Dołączył: 7.07.2006

Ostrzeżenie: (0%)
-----


Cytat
Nie ma możliwości zczytania rozmiarów obrazu przez samo JS?

Jest.

Kod
img = new Image()
img.src = 'obrazek.jpg';
w = img.width;
h = img.height;

window.open(src, 'Image', 'width='+w+' , height='+h+'');


Ten post edytował lopik 14.01.2007, 12:41:21
Go to the top of the page
+Quote Post
mokry
post
Post #6





Grupa: Zarejestrowani
Postów: 374
Pomógł: 23
Dołączył: 3.06.2006
Skąd: Katowice

Ostrzeżenie: (0%)
-----


@wipo: Podstawy eng znam, ale niekoniecznie muszę się biegle lub nawet w podstawach poruszać po JS... Żeby wiedzieć co odpowiada za rozmiary i jakoś wszystko ze sobą posklejać już trzeba mieć trochę pojęcia o JS. Poza tym mój eng opiera się głównie o business english.

@lopik, wielkie dzięki (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) właśnie o czymś takim mówiłem... i też była tam możliwość dodania wymiarów dla "atrybutów" okna.
Go to the top of the page
+Quote Post
hugo_amv
post
Post #7





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 22.06.2005
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Cytat(lopik @ 14.01.2007, 11:25:29 ) *
Jest.

Kod
img = new Image()
img.src = 'obrazek.jpg';
w = img.width;
h = img.height;

window.open(src, 'Image', 'width='+w+' , height='+h+'');

Głupia sprawa ale możecie mi powiedzieć dlaczego w IE nie zwraca mi width i heigh, pod FF chodzi.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 12:25