2010-03-24 2 views
3

사소한 문제인 것처럼 보이지만 내가 시도한 것은 배경을 투명하게 만들지 않습니다.Perl과 GD로 투명한 트루 컬러 PNG를 어떻게 만듭니 까?

use strict; 
use warnings; 
use GD 

GD::Image->trueColor(1); 
my $im = new GD::Image(100, 100); 

my $clear = $im->colorAllocateAlpha(255, 255, 255, 127); 
my $black = $im->colorAllocateAlpha(0, 0, 0, 0); 

$im->alphaBlending(0); 
$im->filledRectangle(0, 0, 100, 100, $clear); 

$im->alphaBlending(1); 
$im->stringFT($black, "a-ttf-font.ttf", 12, 0, 20, 20, "x"); 

binmode STDOUT; 
print $im->png; 

어떤 안내해 주셔서 감사합니다.

+0

-1 'strict'와'warnings'을 사용해야합니다. 게시하는 코드는 실행하는 코드 여야합니다. 당신은'$ image','$ im'과'$ img'를 가지고 있습니다. 뭐라구? –

+0

내가 실행 한 코드의 일부 *입니다. 결정된. – aidan

+1

텍스트가 회색으로 나타나기를 원한다는 점을 이해합니까? 오, 나는 그 질문에 투표하는 것을 잊었다. –

답변

4

$im->saveAlpha(1)을 사용하고 있습니까? 그렇지 않으면 알파 정보는 이미지를 구성하는 데 유용합니다. 저장된 이미지는 투명하지 않습니다.

귀하의 목적에 맞지 않을 수도있는 빠르고 더러운 방법은 알파 채널을 잊어 버리고 GD::Image::transparent 방법을 사용하는 것입니다.

+1

감사합니다. 나는 그것을 발견하지 못했다고 믿을 수 없다. – aidan

관련 문제