Autor Zpráva
lKudry
Profil *
Zdravím,
mám menší problém. Při použití fce imagecreatefromjpeg() u obrázku, který je vyšší než širší, mi uvedená fce tento obrázek automaticky přetočí o 90° (pokud je obrázek širší než vyšší, tak k přetočení nedojde) a proto script nadále pracuje vždy s obrázkem, který je širší než vyšší. Nevíte někdo co s tím udělat, aby to obrázek nepřetáčelo, nebo alespoň jak zjistit jestli je obrázek širší nebo vyšší??
Alphard
Profil
lKudry:
jak zjistit jestli je obrázek širší nebo vyšší??
getimagesize()

Otáčení by určitě neměla dělat funkce imagecreatefromjpeg(), nemáte tam někde třeba imagerotate()?
lKudry
Profil *
fci getimagesize() používám právě hned po fci imagecreatefromjpeg() a ta už mi vypisuje obrázek přetočený, tedy width > height, i když obrázek sám o sobě je width < height a fci imagerotate() jsme nikde ve scriptu nepoužil. Uvedu script:

<?php
$filename = 'obrazek2.jpg';
$type = "gallery";

$photo = imagecreatefromjpeg($filename);

list($origWidth, $origHeight) = getimagesize($filename);

echo $origWidth." ".$origHeight; //Toto zde mám pouze orientačně (pomůcka při hlednání řešení problému)

if ($origWidth > $origHeight) {
	$newWidth = 130;
	$newHeight = 98;
	$imgVar = "width";
	$imgXPos = 48;
	$imgYPos = 45;
	$borderWidth = 221;
	$borderHeight = 195;
} else {
	$newWidth = 74;
	$newHeight = 98;
	$imgVar = "height";
	$imgXPos = 49;
	$imgYPos = 48;
	$borderWidth = 172;
	$borderHeight = 194;
}

$background = imagecreatefrompng("layout/background-" . $imgVar . ".png");
$borderLogo = imagecreatefrompng("layout/" . $type . "-" . $imgVar . ".png");

imagesavealpha($background, true);

imagecopyresampled($background, $photo, $imgYPos, $imgXPos, 0, 0, $newWidth, $newHeight, $origWidth, $origHeight);
imagecopyresampled($background, $borderLogo, 0, 0, 0, 0, $borderWidth, $borderHeight, $borderWidth, $borderHeight);

imagepng($background, 'out.png', 9);


jak říkám obrázek to sice vyexportuje, ale přetočený o 90°
lKudry
Profil *
Zdravím,
tak problém vyřešen, ač je to zvláštní, tak byla chyba v originálním obrázku, který má v sobě nějakou interní chybu pokud se přeuloží, tak vše funguje, tak jak má. Tento obrázek mi to v grafických programech zobrazuje správně (tedy vyšší než širší), avšak při použití obyčejného náhledu systému Windows je také přetočený o 90°... zvláštní, ale hlavní je, že se problém vyřešil. Děkuji Alpharde za pomoc.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0