Avatar billede jm0 Nybegynder
31. juli 2004 - 10:15 Der er 12 kommentarer og
1 løsning

Resize billede i php 200 bobs

Jeg skal lave et billede om til to billeder.

Det lille billede skal være højst 135 pixels i width, det store må højst være 400*400 (Er billedet mindre en 400*400 så skal den bare den størrelse som den allerede har). Jeg kører på en linux server med gdlibs.
Avatar billede Syska Mester
31. juli 2004 - 11:51 #1
Det er der allerede 200 spm om her på eksperten, hvis du bruger søge funktionen er jeg ret sikker på at du kan finde noget
Avatar billede jm0 Nybegynder
31. juli 2004 - 12:54 #2
Ikke et der direkte passer til mig. Vil gerne se løsningsforslaget til mit spørgsmål da jeg har bixet meget med det. Btw så synes jeg de fleste man finder er avancerede og svære at sætte sig ind i :/.
Avatar billede Syska Mester
31. juli 2004 - 13:04 #3
tjaa, dit bliver nu også meget anvanceret, da man skal ind og tjeke hvor stort billedet er, og så laves om, slette det gamle, det er ikke sådan lige....
Avatar billede jm0 Nybegynder
31. juli 2004 - 13:07 #4
Kan du lave en så lille kode som muligt til at resize et billed og forklare lidt om hvad det gør så er jeg forhåbentlig kørende.
Avatar billede terrak Nybegynder
31. juli 2004 - 13:08 #5
Måske kun du bruge noget af min forklaring i http://www.eksperten.dk/spm/513848 ?
Avatar billede jm0 Nybegynder
31. juli 2004 - 13:26 #6
Nu har jeg fattet det meste af hvad jeg skal bruge.
Kan du sammensætte en kode (så simpelt som muligt). Det laver $billede om til størrelse 100*100 uden at regne størrelser osv.?
Avatar billede terrak Nybegynder
31. juli 2004 - 13:57 #7
Ja, men det vil blive grimt og skaleret hvis forholdet mellem billedets dimensioner ikke er 1 (150*150, 200*200, 252*252).
Avatar billede Syska Mester
31. juli 2004 - 14:25 #8
smid det i opgaver hvis du vil have lavet koden, det her er hjælp til selvhælp
Avatar billede jm0 Nybegynder
31. juli 2004 - 14:30 #9
terrak: Det er ligemeget, bare jeg selv kan ændre dimensionerne. Vil helst selv stå for udregningerne.
Avatar billede terrak Nybegynder
31. juli 2004 - 14:42 #10
Jamen er det du leder efter så ikke bare et ganske almindeligt thumbnail script?

function newthumb($imgpath) {

$srcimage = ImageCreateFromJPEG($imgpath);
$sizes = getimagesize($imgpath);

$sizex = $sizes[0];
$sizey = $sizes[1];

$nwidth = 96;
$nheight = 72;

$destimage = imagecreatetruecolor($nwidth, $nheight);

imagecopyresampled($destimage,$srcimage,0,0,0,0,$nwidth,$nheight,$sizex,$sizey);
imagejpeg($destimage);

}
Avatar billede terrak Nybegynder
31. juli 2004 - 14:52 #11
Scriptet til spørgsmålet, jeg linkede til, kan ses her: http://80.197.67.74/scale.php
Avatar billede drbean Nybegynder
02. august 2004 - 13:11 #12
Hmm......

Det har du spurgt om før, og jeg mener også at gav nogen ideer til at komme igang:
http://eksperten.dk/spm/524013

Men der er flere ting i det. For det første skal du kontrollere at det er den rigtig fil type. Det kan gøres sådan:
function CheckFileType($sImageType)
    {
        $tilladte = array("image/jpg","image/jpeg","image/pjpeg");
        if(in_array($sImageType, $tilladte))
        {
              return true;
        }
        else return false;
    }

Så skal du finde størrelsen på det nye billede, det kan gøres sådan her:

function SetImageSize($iWidth,$sImage,$iImageHeight,$iImageWidth)
    {
        $iSize = getimagesize($sImage);
        if($iSize[0] < $iWidth)
        {
            $iImageHeight = $iSize[1];
            $iImageWidth = $iSize[0];
        }
        else
        {
            $iImageWidth = $iWidth;
            $iDivision = $iSize[0] / $iImageWidth;
            $iImageHeight = $iSize[1] / $iDivision;
        }
    }
I linjen er function SetImageSize($iWidth,$sImage,$iImageHeight,$iImageWidth)

er $iWidth, den nye brede
$sImage, er stien til billede,
$iImageHeight, og width er billedes nye størrelse

Resize af billede:
function ResizeJpg($sImage,$Width, $Height)
    {
        $dTemp = ImageCreateTrueColor($Width,$Height)or die ("Cannot Initialize new GD image stream");
        $image = ImageCreateFromJpeg($sImage);
       
        $imagedata = getimagesize($sImage);
       
        imagecopyresampled ($dTemp, $image,0,0,0,0,$Width,$Height, $imagedata[0], $imagedata[1]);
        imagejpeg($dTemp, $sImage,100);
    }

Men som sagt, skriv hvis det driller... Håber du kunne bruge mit svar.

Funktionerne er taget ud af en større klasse, så der kan være noget der er smuttet da jeg har kopieret dem
Avatar billede jm0 Nybegynder
15. august 2004 - 18:48 #13
Fik svar et andet sted.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester