PHP image achtergrond verwijderen

Gestart doorBasDev6 reacties58 weergaven

7 berichten · pagina 1 van 1

BasDev

Lid · Topicstarter

Berichten
2.692
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Hoi,

Ik heb een vraag en ik kom er maar niet uit...
Ik heb heel google af gezocht maar niks blijkt te werken, tenminste, niet zoals ik wil...

Ik heb dit plaatje:
Afbeelding

En ik wil daarvan het zwarte weg hebben...
En zorgen dat het witte daarvan dan transparant is..

Is dat mogelijk? Zo ja, hoe? emo
Bas
0
Berichten
1.871
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Heb je wat aan [func=imagecolortransparent]imagecolortransparent();[/func]
0
BasDev

Lid · Topicstarter

Berichten
2.692
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Al geprobeerd, doesnt work
0
Berichten
1.284
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Misschien is dit wat je zoekt,
laad je afbeelding met imagecreatefrompng gebruik dan imagesx en imagesy voor de formaat nu kan je de pixels "loopen"

[COLOR= #0000BB]<?php[/COLOR]
[URL="http://www.php.net/for"]for[/URL] [COLOR= #007700]([/COLOR][COLOR= #0000BB]$i[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]0[/COLOR][COLOR= #007700];[/COLOR] [COLOR= #0000BB]$i[/COLOR] [COLOR= #007700]<[/COLOR] [COLOR= #0000BB]$imageWidth[/COLOR][COLOR= #007700];[/COLOR] [COLOR= #0000BB]$i[/COLOR][COLOR= #007700]++) {[/COLOR]
    [URL="http://www.php.net/for"]for[/URL] [COLOR= #007700]([/COLOR][COLOR= #0000BB]$j[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]0[/COLOR][COLOR= #007700];[/COLOR] [COLOR= #0000BB]$j[/COLOR] [COLOR= #007700]<[/COLOR] [COLOR= #0000BB]$imageHeight[/COLOR][COLOR= #007700];[/COLOR] [COLOR= #0000BB]$j[/COLOR][COLOR= #007700]++) {[/COLOR]
        [COLOR= #FF8000]// kleur checken en vervangen door transparant [/COLOR]
    [COLOR= #007700]}
}[/COLOR]
?>


Anders vraag eens op stackoverflow, zijn slimme mensen daar kunnen je heus helpen.
0
Rik

Lid

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
Pretty much was Mounssif zegt (en waar ie de code dus vast vandaan heeft):

http://stackoverflow.com/a/1988353
0
BasDev

Lid · Topicstarter

Berichten
2.692
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Ik kom er maar niet uit..

Ieder keer krijg ik of een helemaal witte afbeelding, terwijl ik sommige pixels niet eens replace emo
0
Berichten
473
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
En zoiets? Alleen als je de marge vergroot wordt er al meer zwart weg gehaald, en dit wat het nu doet is (denk ik) te weinig..

Codeblok (one2xs.php):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31


header(Content-type: image/png);

$im = imagecreatefrompng("frame.png");
$transparent = imagecolorallocatealpha($im, 255, 0, 85, 0);

for($i = 0; $i < imagesx($im); $i++) {
for($c = 0; $c < imagesy($im); $c++) {
$colordata = imagecolorat($im, $i, $c);
$rgb = imagecolorsforindex($im, $colordata);
$r = $rgb[red];
$g = $rgb[green];
$b = $rgb[blue];

$blackmarge = 0; // marge

if($r == 255 && $g == 255 && $b == 255) {
imagesetpixel($im, $i, $c, $transparent);
}
else if(
$r <= $blackmarge &&
$g <= $blackmarge &&
$b <= $blackmarge
) {
imagesetpixel($im, $i, $c, $transparent);
}
}
}


imagecolortransparent($im, $transparent);

imagepng($im);
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren