Autor Zpráva
japlavaren
Profil
Dobry den,

mam obrazok, z ktoreho potrebujem dostat obrazok 200x200px. to co precnieva ma byt orezane. hladal som v funkciach, ale nasiel som iba riesenie pouzit imagecopyresampled a image copy - nedaju sa tieto funkcie spojit dokopy??

priklad, ako to ma byt
[img]www.simplelife.sk/obrazky/1.jpg[/img] [img]www.simplelife.sk/obrazky/2.jpg[/img]
japlavaren
Profil
Alphard
Profil
pouzit imagecopyresampled a image copy - nedaju sa tieto funkcie spojit dokopy
proč? jak? imagecopyresampled umí vše co imagecopy

zjistíte velikost obrázku, podle toho si vypočítáte svůj čtverec a ten zmenšíte na 200 × 200
japlavaren
Profil
Alphard mohol by si mi to dat do kodu bo som to skusal a nejde mi to
kletely
Profil
japlavaren
Veď pošli ten tvoj kód a snáť ti niekdo poradí.
japlavaren
Profil
1$big_w=800;
2$big_h=600;
3 
4list($src_w, $src_h, $typ)=getimagesize($_FILES['obrazok']['tmp_name']);
5 
6$src_img=imagecreatefromjpeg($_FILES['obrazok']['tmp_name']);
7$big_img=imagecreatetruecolor($big_w, $big_h);
8 
9imagecopyresampled($big_img, $src_img, 0, 0, 0, 0, $big_w, $big_h, $src_w, $src_h);
$big_w=800;
$big_h=600;
 
list($src_w$src_h$typ)=getimagesize($_FILES['obrazok']['tmp_name']);
 
$src_img=imagecreatefromjpeg($_FILES['obrazok']['tmp_name']);
$big_img=imagecreatetruecolor($big_w$big_h);
 
imagecopyresampled($big_img$src_img0000$big_w$big_h$src_w$src_h);

toto ho zdeformuje
Alphard
Profil
zde vytváříte nový obrázek o velikosti 800 × 600, ale na začátku jste chtěl 200 × 200, co vlastně chcete?
Alphard
Profil
původní verze (200 × 200, vyříznout střed a zmenšit) by mohla vypadat takhle

1<?php
2$path = $_FILES['obrazok']['tmp_name'];
3list($src_w, $src_h, $typ)=getimagesize($path);
4 
5$src_img=imagecreatefromjpeg($path);
6$big_img=imagecreatetruecolor(200, 200);
7 
8if($src_w == $src_h)
9{
10    $s_w = $s_h = 0;
11    $t = $src_w;
12}
13elseif($src_w > $src_h)
14{
15    $t = $src_h;
16    $s_h = 0;
17    $s_w = round(($src_w - $src_h) / 2);
18}
19elseif($src_w < $src_h)
20{
21    $t = $src_w;
22    $s_w = 0;
23    $s_h = round(($src_h - $src_w)/2);
24}
25 
26imagecopyresampled($big_img, $src_img, 0, 0, $s_w, $s_h, 200, 200, $t, $t);
27header('Content-type: image/jpeg');
28imagejpeg($big_img);
29?>
<?php
$path $_FILES['obrazok']['tmp_name'];
list($src_w$src_h$typ)=getimagesize($path);
 
$src_img=imagecreatefromjpeg($path);
$big_img=imagecreatetruecolor(200200);
 
if($src_w == $src_h)
{
    $s_w $s_h 0;
    $t $src_w;
}
elseif($src_w $src_h)
{
    $t $src_h;
    $s_h 0;
    $s_w round(($src_w $src_h) / 2);
}
elseif($src_w $src_h)
{
    $t $src_w;
    $s_w 0;
    $s_h round(($src_h $src_w)/2);
}
 
imagecopyresampled($big_img$src_img00$s_w$s_h200200$t$t);
header('Content-type: image/jpeg');
imagejpeg($big_img);
?>
horava2
Profil
Presne to same bych ted potreboval.
Zkusil jsem to spojit s uploadem, ale vysledek je nulovy.

1if (isset($_FILES['fupload']))
2  {
3    if($_FILES['fupload']['type']=="application/octet-stream"){
4    echo "Soubory s příponou PHP jsou zakázány!";
5    }else{
6    $slozka = "soubory";
7    $cil = $slozka . "/" .$_FILES['fupload']['name'];
8    $nazev_souboru = $_FILES['fupload']['tmp_name'];
9    $copy = move_uploaded_file($nazev_souboru, $cil)
10      or die ("Přenesený soubor nelze zkopírovat");
11         
12$path = $_FILES['obrazok']['tmp_name'];
13list($src_w, $src_h, $typ)=getimagesize($path);
14 
15$src_img=imagecreatefromjpeg($path);
16$big_img=imagecreatetruecolor(100, 100);
17 
18if($src_w == $src_h)
19{
20    $s_w = $s_h = 0;
21    $t = $src_w;
22}
23elseif($src_w > $src_h)
24{
25    $t = $src_h;
26    $s_h = 0;
27    $s_w = round(($src_w - $src_h) / 2);
28}
29elseif($src_w < $src_h)
30{
31    $t = $src_w;
32    $s_w = 0;
33    $s_h = round(($src_h - $src_w)/2);
34}
35 
36imagecopyresampled($big_img, $src_img, 0, 0, $s_w, $s_h, 100, 100, $t, $t);
37header('Content-type: image/jpeg');
38imagejpeg($big_img);
39 
40 
41    chmod ($cil, 0644);
42    if($copy == true){
43      echo "Soubor " .$_FILES['fupload']['name']. " byl úspěšně nahrán na server.\n<br><a href=\"$cil\">Jdi na soubor</a>";
44    }else{
45      echo "Soubor nemohl být nahrán.\nPočet chyb: " . $_FILES['fupload']['error'];
46    }
47    }
48  }
49?>
if (isset($_FILES['fupload']))
  {
    if($_FILES['fupload']['type']=="application/octet-stream"){
    echo "Soubory s příponou PHP jsou zakázány!";
    }else{
    $slozka "soubory";
    $cil $slozka "/" .$_FILES['fupload']['name'];
    $nazev_souboru $_FILES['fupload']['tmp_name'];
    $copy move_uploaded_file($nazev_souboru$cil)
      or die ("Přenesený soubor nelze zkopírovat");
         
$path $_FILES['obrazok']['tmp_name'];
list($src_w$src_h$typ)=getimagesize($path);
 
$src_img=imagecreatefromjpeg($path);
$big_img=imagecreatetruecolor(100100);
 
if($src_w == $src_h)
{
    $s_w $s_h 0;
    $t $src_w;
}
elseif($src_w $src_h)
{
    $t $src_h;
    $s_h 0;
    $s_w round(($src_w $src_h) / 2);
}
elseif($src_w $src_h)
{
    $t $src_w;
    $s_w 0;
    $s_h round(($src_h $src_w)/2);
}
 
imagecopyresampled($big_img$src_img00$s_w$s_h100100$t$t);
header('Content-type: image/jpeg');
imagejpeg($big_img);
 
 
    chmod ($cil0644);
    if($copy == true){
      echo "Soubor " .$_FILES['fupload']['name']. " byl úspěšně nahrán na server.\n<br><a href=\"$cil\">Jdi na soubor</a>";
    }else{
      echo "Soubor nemohl být nahrán.\nPočet chyb: " . $_FILES['fupload']['error'];
    }
    }
  }
?>


Kde je chyba ?
Toto vlákno je staré, již dlouho do něj nikdo nepřispíval.

Informace a odkazy zde uváděné už nemusejí být aktuální. Nechcete-li řešit zde uvedenou konkrétní otázku, založte si vlastní vlákno, nepište do tohoto. Vložíte-li sem nyní příspěvek, upoutáte pozornost mnoha lidí a někteří z nich si jen kvůli vám přečtou i všechny předcházející příspěvky. Předpokládáte-li, že váš text skutečně bude hodnotný, stiskněte následující tlačítko:


Běda vám, jestli to bude blábol.

0