---
title: "Får ej ut något från imagecopyresampled()"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/191746-får-ej-ut-något-från-imagecopyresampled"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "prplxr"
published: "2013-09-24T13:35:42.000Z"
updated: "2013-09-25T13:33:20.000Z"
replies: 1
views: 1043
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/191746-får-ej-ut-något-från-imagecopyresampled"
---

# Får ej ut något från imagecopyresampled()

## #1 — prplxr, 2013-09-24T13:35Z

Tjohej!

Sitter och sliter mitt hår pga en hel uppsjö bilder som jag vill ha skalade och beskurna till ration 16:9 i storlek 400x225 oavsett vilken bredd och höjd de haft tidigare.

Jag kommer naturligtvis själv sitta och försöka lösa detta, men jag vet inte vart jag ska börja titta. Om någon ser något uppenbart fel så kan ni väl hojta till!

```php
$oimgurl = 	trim($url[$i]);
$ext = 		end(explode('.', $oimgurl));

switch($ext) {
	case "jpg":
		$img = imagecreatefromjpeg($oimgurl);
	break;
	case "jpeg":
		$img = imagecreatefromjpeg($oimgurl);
	break;
	case "png":
		$img = imagecreatefrompng($oimgurl);
	break;
	case "gif":
		$img = imagecreatefromgif($oimgurl);
	break;
};

$fimg = 	imagecreatetruecolor(400, 225);
$oimginfo = getimagesize($oimgurl);
$owidth = 	$oimginfo[0];
$oheight = 	$oimginfo[1];
$fratio = 	16/9;
$oratio =	$owidth/$oheight;

if($oratio > $fratio) {
	// Om originalbilden har bredare ratio än 16:9.
	// Har ej börjat på denna, men är ju samma som under men "tvärt om".
} elseif($oratio < $fratio) {
	// Om originalbilden har högre ratio än 16:9.
	imagecopyresampled(
		$fimg,
		$img,
		0,
		0,
		0,
		floor(($oheight-($owidth/$fratio))/2),
		400,
		225,
		$owidth,
		floor($oheight/$ratio)
	);
} else {
	// Om originalbilden har ration 16:9.
	imagecopyresampled(
		$fimg,
		$img,
		0,
		0,
		0,
		0,
		400,
		225,
		$owidth,
		$oheight
	);
};

ob_start();
	imagejpeg($fimg);
	$output = ob_get_contents();
ob_end_clean();

$imgb64 = base64_encode($output);
echo "<img src=\"data:image/x-icon;base64,{$imgb64}\" />";
```

Problemet jag har uppstår efter "// Om originalbilden har högre ratio än 16:9.", men inte om bilden har rätt ratio från början.

$url\[$i\] innehåller URLen till bilden i fråga.

Permalänk: https://www.webforum.nu/p/191746

## #2 — prplxr, 2013-09-25T13:33Z

Ganska exakt ett dygn senare hittade jag mitt stavfel. Någon variabel som heter $ratio existerar ju inte.

 :moose

Permalänk: https://www.webforum.nu/p/2314192

---

Tråden på webben: https://www.webforum.nu/amne/php/191746-får-ej-ut-något-från-imagecopyresampled
