PHP : Imagick : 透過PNG

  キャンバスのみ透過にしておいて、setFillColor で色指定して図形描画





<?
header("Content-type: image/png");
header( "Expires: Wed, 31 May 2000 14:59:58 GMT" );
header( "pragma: no-cache" );
header( "Cache-control: no-cache" );

// *********************************************************
// 透過背景のキャンバス
// *********************************************************
// キャンバス作成
$canvas = new Imagick(); 
$canvas->newImage(300, 300, "none"); 

// *********************************************************
// 四角形の描画
// *********************************************************
// 描画用オブジェクト
$draw = new ImagickDraw();

// 塗りつぶしに使用する色
$draw->setFillColor("#FFFFFF"); 
// 縁取りに使用する色
$draw->setStrokeColor( "#000000" ); 
// 線の幅
$draw->setStrokeWidth(4);
// 四角形
$draw->rectangle( 50, 50, 250, 250 );

// キャンバスに描画
$canvas->drawImage($draw); 

// *********************************************************
// 文字列の描画
// *********************************************************
// 描画用オブジェクト
$draw2 = new ImagickDraw();

// フォント選択
$draw2->setFont('./ume-pgo4.ttf');
// フォントのサイズ
$draw2->setFontSize(40);
// 文字列描画( 改行コードを含む );
$draw2->annotation(90, 60, "日本語表示" );

// キャンバスに描画
$canvas->drawImage($draw2); 

// *********************************************************
// 出力
// *********************************************************
// フォーマット
$canvas->setImageFormat('png'); 

// 出力
print $canvas; 

?> 







  キャンバスを透過にしておいて、setFillColor も透過色にする





<?
header("Content-type: image/png");
header( "Expires: Wed, 31 May 2000 14:59:58 GMT" );
header( "pragma: no-cache" );
header( "Cache-control: no-cache" );

// *********************************************************
// 透過背景のキャンバス
// *********************************************************
// キャンバス作成
$canvas = new Imagick(); 
$canvas->newImage(300, 300, "none"); 

// *********************************************************
// 四角形の描画
// *********************************************************
// 描画用オブジェクト
$draw = new ImagickDraw();

// 塗りつぶしに使用する色
$draw->setFillColor("none"); 
// 縁取りに使用する色
$draw->setStrokeColor( "#000000" ); 
// 線の幅
$draw->setStrokeWidth(4);
// 四角形
$draw->rectangle( 50, 50, 250, 250 );

// キャンバスに描画
$canvas->drawImage($draw); 

// *********************************************************
// 文字列の描画
// *********************************************************
// 描画用オブジェクト
$draw2 = new ImagickDraw();

// フォント選択
$draw2->setFont('./ume-pgo4.ttf');
// フォントのサイズ
$draw2->setFontSize(40);
// 文字列描画( 改行コードを含む );
$draw2->annotation(90, 60, "日本語表示" );

// キャンバスに描画
$canvas->drawImage($draw2); 

// *********************************************************
// 出力
// *********************************************************
// フォーマット
$canvas->setImageFormat('png'); 

// 出力
print $canvas; 

?> 













  infoboard   管理者用   
このエントリーをはてなブックマークに追加




SQLの窓  天気  IT用語辞典
Yahoo!ニュース  マルチ辞書
PHP マニュアル  Google URL短縮 


フリーフォントWEBサービス
SQLの窓WEBサービス

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ