Mam skrypt który tworzy zdjęcie (wymiary, nazwę, jakość itd.) i chciałbym aby skrypt skopiował/stworzył to zdjęcie jeszcze do innego folderu ale w oryginalnym wymiarze i jakości.
Kod:
<?php class demotkonv { var $szer_gl=600; // szerokoĹ?Ä? obrazka razem z czarnym tĹ?em var $szer_img=600; // szerokoĹ?Ä? gĹ?Ăłwnego obrazka w ramce var $top_img=0; // gĂłrny margines var $font_file = 'Thunderpic/arial.ttf'; var $font_size_tyt = 18; var $font_size_opis = 10; var $odstep_miedzy_wierszami = 5; var $odstep_pod_obrazkiem=0; var $odstep_pod_tytulem=0; var $odstep_pod_opisem=0; var $katalog='_picbase/'; var $katalog_tmp='tmp/'; var $znak_wodny='Thunderpic/logo.png'; var $znak_wodny_p='pd'; // lg-lewa gĂłra; pg-prawa gĂłra; ld- lewa dĂłĹ?; pd - prawa dĂłĹ? // tego nie modyfikujemy var $wys_img=0; var $wys_gl=0; var $fname; var $fotile; function doname($dane) { $dozwolone='qwertyuiopasdfghjklzxcvbnm1234567890.'; for($i=0;$i<strlen($dane);$i++) return $dop.$dane2; } function pobierz_upload($filename) { $this->fname=$this->doname($filename['name']); $uploadFile = $this->katalog_tmp.$this->fname; { return $uploadFile; } else return 'NIEPOBRANO'; } function podziel($dane,$dl,$mm) { if($mm>6) return $dane; else $mm++; { return $tt[0].' '.$tt[1]; } else return $dane; } function utworz_img($imgname,$tytul,$opis,$znakuj,$tofilename) { $img = @imagecreatefromjpeg($katalog_tmp.$imgname); { $img = @imagecreatefromgif($katalog_tmp.$imgname); } { $img = @imagecreatefrompng($katalog_tmp.$imgname); } else { return false; } $wys=imagesy($img); $szer=imagesx($img); $this->wys_img=$wys*($this->szer_img/$szer); $bbox = imagettfbbox ($this->font_size_tyt, 0, $this->font_file, $tytul); $bbox2 = imagettfbbox ($this->font_size_opis, 0, $this->font_file, $opis); $wys_bbox=$bbox[5]; $wys_bbox2=$bbox2[5]; $mase = $bbox[0] + $bbox[2]; $mase2 = $bbox2[0] + $bbox2[2]; $this->wys_gl=$this->wys_img+$this->top_img+20+$dop_wys+$dop_wys2+$this->odstep_pod_opisem; $im = ImageCreateTrueColor( $this->szer_gl, $this->wys_gl ); $background_color = imagecolorallocate($im, 0, 0, 0); $text_color = imagecolorallocate($im, 255, 255, 255); $im2 = ImageCreateTrueColor( $this->szer_img+2, $this->wys_img+2 ); imagecopy( $im, $im2, $b_left-1, $this->top_img-1, 0, 0, $this->szer_img+2, $this->wys_img+2); imagecopyresampled( $im, $img, $b_left, $this->top_img, 0, 0, $this->szer_img, $this->wys_img, $szer, $wys); { $imw = @imagecreatefromjpeg($this->znak_wodny); $imw = @imagecreatefromgif($this->znak_wodny); $imw = @imagecreatefrompng($this->znak_wodny); $wys_w=imagesy($imw); $szer_w=imagesx($imw); if($this->znak_wodny_p=='lg') { $b_left2=$b_left+10; $b_top2=$this->top_img+10; } else if($this->znak_wodny_p=='pg') { $b_left2=$b_left+($this->szer_img-$szer_w-10); $b_top2=$this->top_img+10; } else if($this->znak_wodny_p=='ld') { $b_left2=$b_left+10; $b_top2=$this->top_img+($this->wys_img-$wys_w-10); } else if($this->znak_wodny_p=='pd') { $b_left2=$b_left+($this->szer_img-$szer_w-2); $b_top2=$this->top_img+($this->wys_img-$wys_w-2); } imagecopy( $im, $imw, $b_left2, $b_top2, 0, 0, $szer_w, $wys_w); } $tyt_top=$this->wys_img+$this->top_img+$this->odstep_pod_obrazkiem-$bbox[5]; if($mase > $this->szer_img) { $ile=$mase/$this->szer_img; for($i=0;$i<count($tb);$i++) $tq[]=$this->podziel($tb[$i],$ile_str,0); for($i=0;$i<count($tb);$i++) { $j=$i+1; $tyt=$tyt.''.$tb[$i].' '; if($licz>$ile_str) { $tc[]=$tyt; $tyt=''; } } $tc[]=$tyt; $tyt=''; for($i=0;$i<=$ile;$i++) { $tytul2=$tc[$i]; $bbox = imagettfbbox ($this->font_size_tyt, 0, $this->font_file, $tytul2); $mase = $bbox[0] + $bbox[2]; imagefttext($im, $this->font_size_tyt, 0, $dl_tyt, $tyt_top, $text_color, $this->font_file, $tytul2); $tyt_top+=$this->odstep_miedzy_wierszami+($bbox[5]*-1); } } else { imagefttext($im, $this->font_size_tyt, 0, $dl_tyt+1, $tyt_top, $text_color, $this->font_file, $tytul); $tyt_top+=$this->odstep_miedzy_wierszami+($bbox[5]*-1); } $tyt_top+=$this->odstep_pod_tytulem+$wys_bbox; $licz=0; if($mase2 > $this->szer_img) { $ile=$mase2/$this->szer_img; for($i=0;$i<count($tb);$i++) $tq[]=$this->podziel($tb[$i],$ile_str,0); $tyt=''; for($i=0;$i<count($tb);$i++) { $j=$i+1; $tyt=$tyt.''.$tb[$i].' '; if($licz>$ile_str) { $tc[]=$tyt; $tyt=''; } } $tc[]=$tyt; $tyt=''; for($i=0;$i<=$ile;$i++) { $opis2 = $tc[$i]; $bbox2 = imagettfbbox($this->font_size_opis, 0, $this->font_file, $opis2); $mase2 = $bbox2[0] + $bbox2[2]; imagefttext($im, $this->font_size_opis, 0, $dl_tyt, $tyt_top, $text_color, $this->font_file, $opis2); $tyt_top+=$this->odstep_miedzy_wierszami+($bbox2[5]*-1); } } else { imagefttext($im, $this->font_size_opis, 0, $dl_tyt,$tyt_top, $text_color, $this->font_file, $opis); $tyt_top+=$this->odstep_miedzy_wierszami+($bbox2[5]*-1); } imagejpeg($im, "_picbase/" . $tofilename,75); $im_orginal = ImageCreateTrueColor($szer,$wys); imagejpeg($im_orginal, "_orginal/" . $tofilename,100); return $this->katalog.$this->fname; } } ?>
Kilka lini wyżej dodałem taki kod:
$im_orginal = ImageCreateTrueColor($szer,$wys); imagejpeg($im_orginal, "_orginal/" . $tofilename,100);
Zdjęcie tworzy się całe czarne. Z tego co się domyślam to nie jest pobierane zdjęcie i dlatego tak się dzieje, mimo to nie mogę tego ogarnąć. Proszę o pomoc.