abonnement Unibet Coolblue Bitvavo
  donderdag 9 oktober 2003 @ 15:47:46 #1
64523 seweso
inventor of woovi
pi_13766622
Is het mogelijk om een plaatje te maken met pallet én alpha-laag welke tevens bruikbaar is in php?

Als ik in photoshop (5.0) kies voor de geindexeerde kleuren (image>mode>indexed color) dan vervalt bij het opslaan als png de optie om de alpha-laag mee op te slaan.

Ik wil eigenlijk alleen de grijswaarden van het plaatje opslaan in een pallet zodat ik dit pallet snel kan aanpassen in php. Daarna wil ik dit plaatje rekeninghoudend met de alpha-laag toevoegen aan een ander plaatje.

Heb trouwens al grayscale modus geprobeert maar toen ging php flippen.

Eigenlijk wil ik dit systeem:

combineren met deze:

  donderdag 9 oktober 2003 @ 16:34:02 #2
64523 seweso
inventor of woovi
pi_13767846
testalpha.php (direct van php.net gepakt )
php:
<?
$photoImage 
ImageCreateFromJPEG($url); 
ImageAlphaBlending($photoImagetrue); 

$logoImage ImageCreateFromPNG($logo); 

$logoImage ImageSelectiveColor($logoImage0,128,255);


$logoW ImageSX($logoImage); 
$logoH ImageSY($logoImage); 

ImageCopy($photoImage$logoImage0000$logoW$logoH); 

ImageJPEG($photoImage); // output to browser

ImageDestroy($photoImage); 
ImageDestroy($logoImage); 
?>

image_jpeg.php (zelfgemaakt )
php:
<?
header
("Expires: ".gmdate("D, d M Y H:i:s"time() + mktime(0,0,0,1,0,0))." GMT");

/***************************************************************************
* ImageCreateFromFile
***************************************************************************/
function imagecreatefromfile($filename)
{
    
$image_info getimagesize ($filename);
    switch (
$image_info[2]) {
        case 
2//IMAGETYPE_JPEG:
        
return imagecreatefromjpeg($filename);
        case 
3//IMAGETYPE_PNG:
            
return imagecreatefrompng($filename);
        case 
1//IMAGETYPE_GIF:     
            
return imagecreatefromgif($filename);
    };
    exit(
"Error unknown type:".$image_info['mime']."(".$image_info[2].")");
};

    if (
$img == '')
    {
        
$img 'seweso-systems';
    };

    if (
substr($img07) != "http://")
    {
        
$img 'images/'.$img.'.png';
    };

    
$image imagecreatefromfile($img);

    if (!
$image)  /* See if it failed */
    
{
        echo 
"error opening file...";
           };


    if (!isset(
$color))
    {
        
$src_width imagesx($image);
        
$src_height imagesy($image);
        echo 
"<PRE>";
        for (
$iY 0$iY $src_height$iY++)
        {
            for (
$iX 0$iX $src_width$iX++)
            {
                
$color ImageColorAt($image$iX$iY);
                
$rgb imagecolorsforindex ($image$color);
                
$color str_pad(dechex($rgb['red']),2,"0"STR_PAD_LEFT).str_pad(dechex($rgb['green']),2,"0"STR_PAD_LEFT).str_pad(dechex($rgb['blue']),2,"0"STR_PAD_LEFT);
                
//echo "#$color";
                
echo "<img src=image_jpeg.php?color=000000".$color."FFFFFF&img=".$img2.">";
            };
            echo 
"<BR/>";
        };
        echo 
"</PRE>";
        exit();
    };
    
    
//*
    
$from_r hexdec(substr($color02));
    
$from_g hexdec(substr($color22));
    
$from_b hexdec(substr($color42));
    
    
$midl_r hexdec(substr($color62));
    
$midl_g hexdec(substr($color82));
    
$midl_b hexdec(substr($color102));
    
    
$last_r hexdec(substr($color122));
    
$last_g hexdec(substr($color142));
    
$last_b hexdec(substr($color162));
    
//*/    

    
for ($i 0$i<=255$i++)
    {
        
// 0 = from, 128 = midl, 255 = last
        
$new_r $i 128 ? (-$i 128) / 128 $from_r $i 128 $midl_r : ($i 128) / 128 $last_r + (-$i 255) / 128 $midl_r;
        
$new_g $i 128 ? (-$i 128) / 128 $from_g $i 128 $midl_g : ($i 128) / 128 $last_g + (-$i 255) / 128 $midl_g;
        
$new_b $i 128 ? (-$i 128) / 128 $from_b $i 128 $midl_b : ($i 128) / 128 $last_b + (-$i 255) / 128 $midl_b;
        
imagecolorset ($image$i$new_r$new_g$new_b);
    };

    
imagejpeg($imagenull99); 
    exit();
?>

dus .... bovenstaand wil ik samenvoegen .... iemand een idee?
  vrijdag 10 oktober 2003 @ 21:11:57 #3
64523 seweso
inventor of woovi
pi_13798237
Stel ik de vraag misschien verkeerd? Dit word namelijk wel een beetje zielig.... Heb ik de vraag verkeerd gesteld? Vertel het me aub

Of doe maar een slotje, dan probeer ik het wel op te lossen met een omweg....

  zaterdag 11 oktober 2003 @ 14:45:29 #4
64523 seweso
inventor of woovi
pi_13808952
Ik kom hier voortaan gewoon elke dag mijn vraag bekijken...eens kijken hoeveel ik hier in mijn eentje kan posten voor hij op slot gaat.
  zaterdag 11 oktober 2003 @ 14:55:08 #5
24461 sly2001
Oh yeah you wanna rock it.....
pi_13809068
-edit-

[Dit bericht is gewijzigd door Slarioux op 11-10-2003 14:56]

Live's great as long as you have fun
  zaterdag 11 oktober 2003 @ 14:57:04 #6
17137 Sander
Nerds do it rarely
pi_13809087
Tja, als niemand het weet kan ook niemand je helpen. Maar weet je zeker dat je een slotje wilt?
  zaterdag 11 oktober 2003 @ 15:06:02 #7
24461 sly2001
Oh yeah you wanna rock it.....
pi_13809197
Ik geef hem alleen maar een tip!! en dan word ie verwijderd.. belachelijk...

Hier is het antwoord;

Niet doen.
waarom jezelf vermoeien als er zoveel leukere dingen te doen zijn.

Live's great as long as you have fun
  zondag 12 oktober 2003 @ 18:30:33 #8
64523 seweso
inventor of woovi
pi_13830667
quote:
Op zaterdag 11 oktober 2003 15:06 schreef sly2001 het volgende:
Ik geef hem alleen maar een tip!! en dan word ie verwijderd.. belachelijk...

Hier is het antwoord;

Niet doen.
waarom jezelf vermoeien als er zoveel leukere dingen te doen zijn.


Ach ja iedereen vindt andere dingen leuk, ik hou van proberen de grenzen van een programmeertaal te vinden.

En laat dat slotje nog maar ff zitten, misschien dat er binnen een jaar iemand hier een antwoord op weet

pi_13830866
het kan aan mij liggen hè, maar als je die functie nou genest maakt.
Dus je doet in de ene PHP de alpha laag en in een andere PHP de pallet.
Of kun je als src image alleen met extentie JPG/GIF werken? en niet PHP?

-edit- dus bijvoorbeeld in Image_Jpeg.php gebruik je als $filename gewoon 'testalpha.php?blablabla'

Werkt dat niet?

  zondag 12 oktober 2003 @ 22:26:46 #10
64523 seweso
inventor of woovi
pi_13837202
quote:
Op zondag 12 oktober 2003 18:42 schreef sop het volgende:
het kan aan mij liggen hè, maar als je die functie nou genest maakt.
Dus je doet in de ene PHP de alpha laag en in een andere PHP de pallet.
Of kun je als src image alleen met extentie JPG/GIF werken? en niet PHP?

-edit- dus bijvoorbeeld in Image_Jpeg.php gebruik je als $filename gewoon 'testalpha.php?blablabla'

Werkt dat niet?


Ja zoiets is wel mogelijk.

Maar het probleem zit hem tevens in het feit dat png niet én een alpha-laag én een pallet aankan, en juist de ene php heeft een alpha-laag nodig en de andere een pallet.

Dus....

pi_13842740
Ehm, als je dat weet, waarom wil je het dan toch?!
  maandag 13 oktober 2003 @ 11:47:10 #12
64523 seweso
inventor of woovi
pi_13845398
quote:
Op maandag 13 oktober 2003 08:56 schreef sop het volgende:
Ehm, als je dat weet, waarom wil je het dan toch?!
Ik weet het niet 100% zeker omdat ik alleen nog maar png-plaatjes met photoshop 5.0 heb gemaakt, dus het zou heel misschien zo kunnen zijn dat het wél mogelijk is maar dan met een ander tekenprogramma...

Een andere optie is om in php de alpha laag op een andere manier aan te leveren...

abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')