---
title: "imagecopyresized() med bakgrundsfärg?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/179046-imagecopyresized-med-bakgrundsfärg"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "bassebhu"
published: "2009-06-18T11:48:48.000Z"
updated: "2009-06-19T16:15:17.000Z"
replies: 3
views: 425
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/179046-imagecopyresized-med-bakgrundsfärg"
---

# imagecopyresized() med bakgrundsfärg?

## #1 — bassebhu, 2009-06-18T11:48Z

Hej alla glada!

Jag laddar upp och skalar om bilder med imagecopyresized() men går det att få så att alla bilder blir 100x100px och behåller sina ursprungliga proportioner fast med svart bakgrund om det behövs, samt placerar bilden helt centrerat åt båda håll?

Taxi!

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

## #2 — fiddler, 2009-06-18T12:04Z

Jag hackade ihop detta för en sida jag gjorde.

```php
<?
//Skriptet tar argumenten från URL:n ex: ?album=ZKV8--&pic=bild.jpg
function thumb($galleri,$name)
{
	//Thumbnail-skript
	
	$bild_url = $galleri.$name;
	$y = 76; //Ny höjd på bilden
	$x = $y; //Ny bredd på bilden

	// Läser in den stora bilden och kollar storleken på den.
	$stor_bild = imagecreatefromjpeg ($bild_url);
	$stor_x = imagesx ($stor_bild);
	$stor_y = imagesy ($stor_bild);

	// Räknar ut $k som är förhållandet mellan bredden och höjden.
	$k = ($stor_x > $stor_y)?$x/$stor_x:$y/$stor_y;

	// Räknar ut bredden och höjden på mini-bilden.
	$liten_x = round($k * $stor_x);
	$liten_y = round($k * $stor_y);
	
	//Startpunkter för lilla bilden
	$dst_x = ($liten_x > $liten_y)?"0":round(($x-$liten_x)/2);
	$dst_y = ($liten_y > $liten_x)?"0":round(($y-$liten_y)/2);

	// Skapar bilden.
	$liten_bild = imagecreatetruecolor ($x, $y);
	$white = imagecolorallocate($liten_bild, 255, 255, 255);
	$border = imagecolorallocate($liten_bild, 230, 230, 230);
	imagefill($liten_bild, 0, 0, $white);//Färga bakgrunden vit
	imagecopyresampled ($liten_bild, $stor_bild, $dst_x, $dst_y, 0, 0, $liten_x, $liten_y, $stor_x, $stor_y);
	imagerectangle($liten_bild,	$dst_x, $dst_y, $dst_x+$liten_x-1, $dst_y+$liten_y-1, $border);

	// Skriver ut bilden
	imagejpeg ($liten_bild);

	//Tar bort bilderna ur minnet på PHP.
	imagedestroy ($liten_bild);
	imagedestroy ($stor_bild);
}

if(isset($_GET['album']))
	{
		$album = "../album/".$_GET['album']."/";
		$pic = $_GET['pic'];
		thumb($album,$pic);
	}
?>
```

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

## #3 — bassebhu, 2009-06-19T09:50Z

Funkade prima! Tackar! :)

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

## #4 — fiddler, 2009-06-19T16:15Z

Kul! :)

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

---

Tråden på webben: https://www.webforum.nu/amne/php/179046-imagecopyresized-med-bakgrundsfärg
