PHPを使用した画像加工

  model.inc



このサンプルには、多くの重要なヒントが含まれています。

オブジェクトによる特殊な処理の実装方法や、PHP等の他のコマンドラインベースのアプリケーション利用のサンプルとして、多くの応用の可能性を示唆しています

  
<%
' **********************************************************
' 画像データ処理
' **********************************************************
Function GetData( )

	Dim WshShell,Fs,fp,strFileName,strCommand
	Dim TargetPhp,TargetImg

	' Web 上のターゲットアドレス
	TargetPhp = "Image/png.php"
	TargetImg = "Image/hm020.png"

	' テキストファイルアクセス用のオブジェクト
	Set Fs = Server.CreateObject( "Scripting.FileSystemObject" )
	' Web アドレスをファイルシステムのパスに変換
	strFileName = Server.MapPath( TargetPhp )
	' php 用のテキストファイルを作成
	Set fp = Fs.CreateTextFile( strFileName, True )

	fp.WriteLine "<?"
	fp.WriteLine "if ( !extension_loaded( ""gd"" ) ) {"
	fp.WriteLine "	dl(""php_gd2.dll"");"
	fp.WriteLine "}"
	fp.WriteLine "$im = ImageCreateFromPng(" & _
		"""http://homepage2.nifty.com/lightbox/image/hm020.png"");"
	fp.WriteLine "$red = ImageColorAllocate($im, 255,0,0);"
	fp.WriteLine "imagesetthickness( $im, 3 );"
	fp.WriteLine "if ( ctype_digit( $argv[1] ) ) {"
	fp.WriteLine "	$x = $argv[1];"
	fp.WriteLine "}"
	fp.WriteLine "else {"
	fp.WriteLine "	$x = 135;"
	fp.WriteLine "}"
	fp.WriteLine "if ( ctype_digit( $argv[2] ) ) {"
	fp.WriteLine "	$y = $argv[2];"
	fp.WriteLine "}"
	fp.WriteLine "else {"
	fp.WriteLine "	$y = 118;"
	fp.WriteLine "}"
	fp.WriteLine "imagearc( $im, $x, $y, 60, 35, 0, 359, $red );"
	fp.WriteLine "ImagePng($im,""" & _
		Server.MapPath( TargetImg ) & """);"
	fp.WriteLine "?>"

	' テキストファイルの使用終了
	Call fp.Close()
	Set fp = Nothing

	' 外部実行用のオブジェクト
	Set WshShell = Server.CreateObject( "WScript.Shell" )
	if Trim( MyData( "In1X" ) ) = "" then
		MyData( "In1X" ) = "135"
	end if
	if Trim( MyData( "In1Y" ) ) = "" then
		MyData( "In1Y" ) = "118"
	end if
	' 実行コマンド
	strCommand = _
		"c:\php\cli\php.exe " & _
		Server.MapPath( TargetPhp ) & " " & _
		MyData("In1X") & " " & MyData("In1Y")

	Call WshShell.Run( strCommand,,True )

	Set Fs = Nothing
	Set WshShell = Nothing

	OutData = "<IMG src=""" & TargetImg & """>"

End Function

' **********************************************************
' VIEW の編集
' **********************************************************
Function EditDataHead( )


End Function

' **********************************************************
' VIEW2 の編集
' **********************************************************
Function EditDataBody( )


End Function

%>
  



  作成された PHP ソース



  
<?
$im = ImageCreateFromPng("http://homepage2.nifty.com/lightbox/image/hm020.png");
$red = ImageColorAllocate($im, 255,0,0);
imagesetthickness( $im, 3 );
if ( ctype_digit( $argv[1] ) ) {
	$x = $argv[1];
}
else {
	$x = 135;
}
if ( ctype_digit( $argv[2] ) ) {
	$y = $argv[2];
}
else {
	$y = 118;
}
imagearc( $im, $x, $y, 60, 35, 0, 359, $red );
ImagePng($im,"C:\lightbox\ASP\IMG\Image\hm020.png");
?>
  













   SQLの窓    create:2004/11/06  update:2018/02/08   管理者用(要ログイン)





フリーフォントツール

SQLの窓ツール

SQLの窓フリーソフト

写真素材

一般ツールリンク

SQLの窓

フリーソフト