Afbeelding alleen resizen als te groot is

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Raymond ---

Raymond ---

12/10/2007 17:27:00
Quote Anchor link
Ik heb een aantal externe afbeeldingen, deze zijn groter dan de breedte van de layout, de bedoeling is dat ze automatisch verkleint worden.(dat ik er dus geen width handmatig bij hoef te zetten)

De volgende dingen heb ik al geprobeerd:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
width: 700px;

* Werkt niet want als je een afbeelding hebt die kleiner is dan 500px word die te groot en uitgerekt.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
max-width: 700px;

* Werkt alleen in FF, en aangezien IE nog het meest gebruik word moet het daar ook voor werken.



Gevonden op Gigadesign:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
max-width: 400px;
width: expression(document.geElementById('container').style.
width > 400 ? "400px": "auto" );

*Krijg ik niet werkend...

Iemand nog een andere oplossing? Ik zou wel alles kunnen opslaan, maar dan komen al die afbeeldingen op de server, lijkt me wat overbodig als ze op het internet staan. Ik hoopte eigenlijk dat er een CSS manier was. Het gaat hier namelijk om afbeeldingen die door users worden gepost dmv ubb.
Gewijzigd op 01/01/1970 01:00:00 door Raymond ---
 
PHP hulp

PHP hulp

21/12/2024 17:43:31
 
Raymond ---

Raymond ---

14/10/2007 10:54:00
Quote Anchor link
Bumpje..
 
Scrptr

Scrptr

14/10/2007 11:20:00
Quote Anchor link
Ik heb nog wel een scriptje waarvoor je zie niet hoeft op te slaan. Echter is het php en dus geen css:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?
function avatar($maxw, $maxh, $image, $alt){
$imagesize = getimagesize($image);
$width = $imagesize['0'];
$height = $imagesize['1'];

if($width < $maxw && $height < $maxh){
    // Het plaatje heeft een toegestaan formaat (kleiner dan het maximum)
    $imgw = $width;
    $imgh = $height;
}


if($width == $maxw && $height == $maxh){
    // Het plaatje heeft een toegestaan formaat (exact het zelfde formaat als het maximum)
    $imgw = $width;
    $imgh = $height;
}


if($width > $maxw or $height > $maxh){
    // Het plaatje is te groot!
    $gf_height = $height / $maxh;
    $gf_width = $width / $maxw;
        if($gf_width > $gf_height){
        $imgw = $width / $gf_width;
        $imgh = $height / $gf_width;
        }

        if($gf_width < $gf_height){
        $imgw = $width / $gf_height;
        $imgh = $height / $gf_height;
        }

        if($gf_width == $gf_height){
        $imgw = $width / $gf_width;
        $imgh = $height / $gf_height;
        }
}


echo "<img src='".$image."' alt='".$alt."' height='".$imgh."' width='".$imgw."'>";

}
?>
 
Raymond ---

Raymond ---

14/10/2007 12:10:00
Quote Anchor link
Ok, bedankt zoiets zocht ik, ik ga het straks even uitproberen. Het hoefde idd perse met CSS, maar ik had eigenlijk niet aan PHP gedacht...
 
Bart van der veen

bart van der veen

14/10/2007 12:22:00
Quote Anchor link
even voor de vorm, het script zorg voor permanente vervorming....
 
Scrptr

Scrptr

14/10/2007 13:30:00
Quote Anchor link
Het script wat ik zojuist poste verandert het formaat zo nodig in verhouding, en slaat de afbeelding niet op dus de vervorming is niet permanent
 
Raymond ---

Raymond ---

19/10/2007 15:46:00
Quote Anchor link
Ok, ik heb eindelijk de tijd gehad ome r naar te kijken (vandaar ook de late reactie), ik zo nu met het volgende probleem:
Ik heb de functie, maar hij moet uitgevoerd worden samen met preg_replace, dit is de huidige regel:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$string
= preg_replace('#\[img\](.+?)\[/img\]#si','<a href="\\1" rel="lightbox"><img src="\\1" alt="Afbeelding" /></a>',$string);
?>

Het moet iets zoals dit worden:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$string = preg_replace('#\[img\](.+?)\[/img\]#si','<a href="\\1" rel="lightbox">'resize_img(500, 500, \\1,"Afbeelding")'</a>',$string);


Ik snap dat dat neit werkt, maar het is wel de bedoeling dat er uitgevoerd zo moeten worden, iemand enig idee hoe ik dat kan oplossen?
Gewijzigd op 01/01/1970 01:00:00 door Raymond ---
 
Raymond ---

Raymond ---

21/10/2007 13:53:00
Quote Anchor link
bump..
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.