PHP GD Set pixels

Status
Niet open voor verdere reacties.

apellsientje925

Gebruiker
Lid geworden
6 jun 2009
Berichten
142
Hallo,

Ik heb een topstory systeem, van de headers van Habbo, en nu wil ik dat 5 pixels een bepaalde kleur krijgen. Dit is wat ik tot nu toe heb:
PHP:
<?php
header("Content-type: image/png");
function fromRGB($R, $G, $B){
 
 $R=dechex($R);
 If (strlen($R)<2)
 $R='0'.$R;

  $G=dechex($G);
 If (strlen($G)<2)
 $G='0'.$G;
 
 $B=dechex($B);
 If (strlen($B)<2)
 $B='0'.$B;
 
 return '#' . $R . $G . $B;
 

}
function _getExtension($file)
{
        $ext = '';
        if (strrpos($file, '.')) {
            $ext = strtolower(substr($file, (strrpos($file, '.') ? strrpos($file, '.') + 1 : strlen($file)), strlen($file)));
        }
        return $ext;
}
$ext  = strtolower(_getExtension($_GET['header']));
if($ext == 'png') {
$im = imagecreatefrompng("headers/".$_GET['header']);
}else{
$im = imagecreatefromgif("headers/".$_GET['header']);
}
$gd = @ imagecreate("300", "187");
$rgb = imagecolorat($im, 100, 151);

$colors = imagecolorsforindex($im, $rgb);
$red = $colors["red"];
$green = $colors["green"];
$blue = $colors["blue"];

imagecopy($gd, $im, 0, 0, 0, 0, 300, 187);

imagesetpixel($gd, 0,0, $red);
imagepng($gd);
?>
Maar nu loop ik vast op het selecteren, ik heb al wat opgezet maar dat lukt niet. Hij moet selecteren X:297 En Y: 0 , de pixels moeten zijn: 298x0 ,299x0 ,300x0 , 300x1,300x2.

Alvast bedankt!
 
Even offtopic, ik blijf me toch altijd afvragen, wat is er nou zo boeiend aan Haboo..?
 
PHP:
$color = imagecolorat( $image, 297, 0 );
imagesetpixel($image, 298, 0, $color );
imagesetpixel($image, 299, 0, $color );
imagesetpixel($image, 300, 0, $color );
imagesetpixel($image, 300, 1, $color );
imagesetpixel($image, 300, 2, $color );

Dit zou volgensmij al moeten werken?
Hij hoort de kleur die je kiest al gealloceerd te hebben.
 
Bedankt! Ik zal vanavond even proberen, computer is er nu niet
Edit het werkt niet. Alle lege pixels worden opgevuld:
PHP:
<?php
header("Content-type: image/png");
function fromRGB($R, $G, $B){
 
 $R=dechex($R);
 If (strlen($R)<2)
 $R='0'.$R;
 
  $G=dechex($G);
 If (strlen($G)<2)
 $G='0'.$G;
 
 $B=dechex($B);
 If (strlen($B)<2)
 $B='0'.$B;
 
 return '#' . $R . $G . $B;
 
 
}
function _getExtension($file)
{
        $ext = '';
        if (strrpos($file, '.')) {
            $ext = strtolower(substr($file, (strrpos($file, '.') ? strrpos($file, '.') + 1 : strlen($file)), strlen($file)));
        }
        return $ext;
}
$ext  = strtolower(_getExtension($_GET['header']));
if($ext == 'png') {
$im = imagecreatefrompng("headers/".$_GET['header']);
}else{
$im = imagecreatefromgif("headers/".$_GET['header']);
}
$gd = @ imagecreate("300", "187");
$rgb = imagecolorat($im, 100, 151);
 
imagecopy($gd, $im, 0, 0, 0, 0, 300, 187);
$color = imagecolorat( $gd, 297, 0 );
imagesetpixel($gd, 298, 0, $color );
imagesetpixel($gd, 299, 0, $color );
imagesetpixel($gd, 300, 0, $color );
imagesetpixel($gd, 300, 1, $color );
imagesetpixel($gd, 300, 2, $color );
 
imagepng($gd);
?>
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan