/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
resize/crop hjælp
Fra : Christoffer \(Guide\~


Dato : 12-08-06 16:08

Hej, jeg skal lave nogle thumbnails men er i tvivl om hvordan jeg skal
gøre..
har nogle billeder af varierende størrelse (fra 200*250 til 1280*1024) og de
skal alle have et udsnit på 90*90 ..

Hvis jeg resizer vil det så ikke blive for gnidret med de store billeder?
- hvis ikke vil jeg meget gerne have hjælp til hvordan jeg skal gøre

Men spørgsmålet er mere er det muligt at lave et crop/beskæring af et
billede så det bliver 90*90 ?

Christoffer



 
 
Jacob Atzen (12-08-2006)
Kommentar
Fra : Jacob Atzen


Dato : 12-08-06 16:13

On 2006-08-12, Christoffer (Guide) <hjeir@motherdk.dk> wrote:
> Hej, jeg skal lave nogle thumbnails men er i tvivl om hvordan jeg skal
> gøre..
> har nogle billeder af varierende størrelse (fra 200*250 til 1280*1024) og de
> skal alle have et udsnit på 90*90 ..
>
> Hvis jeg resizer vil det så ikke blive for gnidret med de store billeder?
> - hvis ikke vil jeg meget gerne have hjælp til hvordan jeg skal gøre
>
> Men spørgsmålet er mere er det muligt at lave et crop/beskæring af et
> billede så det bliver 90*90 ?

GD billedbehandlingsbiblioteket følger med PHP, kig på funktionerne
deri.

--
Med venlig hilsen
- Jacob Atzen

Christoffer \(Guide\~ (12-08-2006)
Kommentar
Fra : Christoffer \(Guide\~


Dato : 12-08-06 16:45


"Jacob Atzen" <jacob@aub.dk> skrev i en meddelelse
news:slrnedrrvh.1vqu.jacob@tank.aub.dk...
> On 2006-08-12, Christoffer (Guide) <hjeir@motherdk.dk> wrote:
> > Hej, jeg skal lave nogle thumbnails men er i tvivl om hvordan jeg skal
> > gøre..
> > har nogle billeder af varierende størrelse (fra 200*250 til 1280*1024)
og de
> > skal alle have et udsnit på 90*90 ..
> >
> > Hvis jeg resizer vil det så ikke blive for gnidret med de store
billeder?
> > - hvis ikke vil jeg meget gerne have hjælp til hvordan jeg skal gøre
> >
> > Men spørgsmålet er mere er det muligt at lave et crop/beskæring af et
> > billede så det bliver 90*90 ?
>
> GD billedbehandlingsbiblioteket følger med PHP, kig på funktionerne
> deri.
Jeg har også været igang med det tidligere, men synes ikke jeg kunne finde
rundt i det.. har sakset mig frem til en kode som jeg ville tro virker
(uploadet virker også fint ) men billedet bliver i de samme dimensioner
istedet for 90*90

function resize( $filename, $newfilename, $maxw, $maxh )
{
$srcim = imagecreatefromjpeg( $filename );
$ow = imagesx( $srcim );
$oh = imagesy( $srcim );
$wscale = $maxw / $ow;
$hscale = $maxh / $oh;
$scale = ( $hscale < $wscale ? $hscale : $wscale );
$nw = round( $ow * $scale, 0 );
$nh = round( $oh * $scale, 0 );
$dstim = imagecreatetruecolor( $nw, $nh );
imagecopyresampled( $dstim, $srcim, 0, 0, 0, 0, $nw, $nh, $ow,
$oh );
imagejpeg( $dstim, $newfilename, 85 );
imagedestroy( $dstim );
imagedestroy( $srcim );
}
## Hvis der er uploadet billede
if($_POST[upload]) {
$fil = basename( ( !empty( $_POST['billede'] ) ? $_POST['billede'] :
'billede.jpg' ) );
resize( $fil, '', 90, 90 );

$dir = "portofolio/".$_FILES[billede][name];
move_uploaded_file($_FILES[billede][tmp_name],$dir);
print "<h4>filen er nu uploadet!</h4>";
}



Jacob Atzen (12-08-2006)
Kommentar
Fra : Jacob Atzen


Dato : 12-08-06 17:10

On 2006-08-12, Christoffer (Guide) <hjeir@motherdk.dk> wrote:
> Jeg har også været igang med det tidligere, men synes ikke jeg kunne finde
> rundt i det.. har sakset mig frem til en kode som jeg ville tro virker
> (uploadet virker også fint ) men billedet bliver i de samme dimensioner
> istedet for 90*90
>
> function resize( $filename, $newfilename, $maxw, $maxh )
> {
> $srcim = imagecreatefromjpeg( $filename );
> $ow = imagesx( $srcim );
> $oh = imagesy( $srcim );
> $wscale = $maxw / $ow;
> $hscale = $maxh / $oh;
> $scale = ( $hscale < $wscale ? $hscale : $wscale );
> $nw = round( $ow * $scale, 0 );
> $nh = round( $oh * $scale, 0 );

Du skalerer billedet med den samme faktor i både bredde og højde, ergo
vil det efter skaleringen have samme forhold mellem bredde og højde.
Hvis du vil have det ud i præcis 90x90 så skal du bruge:

$nw = 90;
$nh = 90;

--
Med venlig hilsen
- Jacob Atzen

Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408938
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste