[perl] Plaatje loaden in MySQL

Pagina: 1
Acties:

  • BKJ
  • Registratie: April 2000
  • Laatst online: 07-09 12:42
kheb nu deze code:
code:
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
#!/usr/bin/perl

use DBI;
use GD;


$file="test.jpg";
$maxwidth = "300";
$maxheight = "400";


$srcimage = GD::Image->newFromJpeg($file);
  ($srcW,$srcH) = $srcimage->getBounds();
  $wdiff = $srcW - $maxwidth;
  $hdiff = $srcH - $maxheight;
  

  if ($wdiff > $hdiff) {
    $newW = $srcW - $wdiff;
    $aspect = ($newW/$srcW);
    $newH = int($srcH * $aspect);
  } else {
    $newH = $srcH - $hdiff;
    $aspect = ($newH/$srcH);
    $newW = int($srcW * $aspect);
  }

 
  
  $newimage = new GD::Image($newW,$newH);
  $newimage->copyResized($srcimage,0,0,0,0,$newW,$newH,$srcW,$srcH);

Deze genereerd een plaatje met nieuwe boundaries. Nu moet dit plaatje weggeschreven worden in een tabel van MySQL. Dit heb ik al als volgt geprobeerd:
code:
1
$sth = $dbh->prepare ("INSERT INTO bla(image) VALUES('$newimage')");

Nu staat dit in de tabel:
GD::Image=SCALAR(0x80f58bc)

errug vaag; ook als ik hem opvraag en laat zien dan zie ik ook die "GD::Image=SCALAR(0x80f58bc)"

Wat doe ik fout?

Kamer huren


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Euhmz?
Je slaat de reference naar het plaatje op, dat waar Perl mee werkt :)

NIET de data zo te zien. Op een of andere manier moet je de data er nog uit zien te 'pulken'.

  • BKJ
  • Registratie: April 2000
  • Laatst online: 07-09 12:42
En hoe doe ik dat?

Kamer huren


  • Grum
  • Registratie: Juni 2001
  • Niet online
wegschrijven & openen

  • BKJ
  • Registratie: April 2000
  • Laatst online: 07-09 12:42
dat kan echt wel handiger dacht ik....die oplossing had ik ook al bedacht...

Kamer huren


  • tomato
  • Registratie: November 1999
  • Niet online
Kijken in de GD library en daar de Image class van hoe je de data uit je object krijgt (waarschijnlijk een ->getBinary() method oid...).

Maar iig, zie docs.
Pagina: 1