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... :/


--------------------
Pomogłem? Podziękuj proszę klikając poniżej "POMÓGŁ" ;)
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 winksmiley.jpg
...?

Ten post edytował mokry 14.01.2007, 11:28:27


--------------------
Pomogłem? Podziękuj proszę klikając poniżej "POMÓGŁ" ;)
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


--------------------
w3c & c++
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 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.


--------------------
Pomogłem? Podziękuj proszę klikając poniżej "POMÓGŁ" ;)
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.


--------------------
DzbanyIT blog programisty
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 19.08.2025 - 11:35