ホームページ >バックエンド開発 >PHPチュートリアル >急いで画像のコードを生成しようとしていますが、まだ機能しません。専門家に相談してください。

急いで画像のコードを生成しようとしていますが、まだ機能しません。専門家に相談してください。

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-06-13 12:08:21874ブラウズ

至急~画像を生成するコードを修正するのに長い時間がかかりましたが、まだ機能しません。専門家が必要です。 !
このコードはテキストを画像に直接変換し、生成された画像の背景はデフォルトで黒になります。 。
ここで専門家に助けを求めたいのですが、背景を黒にせず、背景と同じディレクトリにある .jpg 画像を直接使用できるように変更するにはどうすればよいですか?

つまり、生成された画像の背景は現在の色の背景ではなく、1.jpg ということですか?変更方法を教えてください。 。 。長い間勉強しても理解できません。 。

<br><?php<br />function str_div($str, $width = 10){<br /> $strArr = array();<br /> $len = strlen($ str);<br /> $count = 0;<br /> $flag = 0;<br /> while($flag < $len){<br /> if(ord($str[$flag]) > 128) {<br /> $count = 1;<br /> $flag = 3;<br /> }<br /> else{<br /> $count = 0.5;<br /> $flag = 1;<br /> }<br /> if ($count >= $width){<br /> $strArr[] = substr($str, 0, $flag);<br /> $str = substr($str, $flag);<br /> $len - = $flag;<br /> $count = 0;<br /> $flag = 0;<br /> }<br /> }<br /> $strArr[] = $str;<br /> return $strArr;<br />} <br /><br />関数 str2rgb($str)<br />{<br /> $color = array('red'=>0, 'green'=>0, 'blue'=>0);<br /> $str = str_replace('#', '', $str);<br /> $len = strlen($str);<br /> if($len==6){<br /> $arr=str_split( $str,2);<br /> $color['red'] = (int)base_convert($arr[0], 16, 10);<br /> $color['green'] = (int)base_convert($ arr[1], 16, 10);<br /> $color['blue'] = (int)base_convert($arr[2], 16, 10);<br /> return $color;<br /> }<br /> if($len==3){<br /> $arr=str_split($str,1);<br /> $color['red'] = (int)base_convert($arr[0].$arr[0] ], 16, 10);<br /> $color['green'] = (int)base_convert($arr[1].$arr[1], 16, 10);<br /> $color['blue'] = (int)base_convert($arr[2].$arr[2], 16, 10);<br /> return $color;<br /> }<br /> return $color;<br />}<br /><br />function makeimger($text = "コンテンツの取得に失敗しました...",$types,$ids){<br /> $setStyle = '52A300'; #色を設定します。選択可能なページとして開発してこれを渡すこともできますパラメータを使用します。 |Format<br /> $haveBrLinker = ""; #非常に長い長さの場合は区切り文字を使用します<br /> $fontFile = 'simfang.ttf'; #フォント ファイル名をフォント ディレクトリに置き、開発することもできます選択可能なページとしてこのパラメータを渡します <br /> $userStyle =explode('|', $setStyle); #色を分離<br /> $text = substr($text, 0, 1000); #最初の 10,000 文字をインターセプトします🎜> $text = iconv( "GB2312", "UTF-8",$text); <br /> $imgpath = "".$types."/"; #画像保存アドレス<br /> if(!is_dir($) imgpath)){ mkdir($imgpath); }<br /> $imgfile = $imgpath . '.gif';<br /><br /> if(file_exists($imgfile))<br /> {<br /> $imgfile; <br /> } <br /> else<br /> {<br /> //これは境界線の幅です。パラメータはフロントエンドで渡すことができます<br /> $paddingTop = 500;<br /> $paddingLeft = 35;<br /> $paddingBottom = 260;<br /> $copyrightHeight = 0;<br /> <br /> $canvasWidth = 640;<br /> $canvasHeight = 1136;<br /> //$canvasHeight = $paddingTop $paddingBottom $copyrightHeight;<br /> <br /> $fontSize = 38;<br /> $lineHeight = intval($fontSize * 1.8);<br /> <br /> $textArr = array();<br /> $tempArr =explode("n", トリム($text));<br /> $j = 0;<br /> foreach($tempArr as $v){<br /> $arr = str_div($v, 25);<br /> $textArr[] = array_shift( $arr);<br /> foreach($arr as $v){<br /> $textArr[] = $haveBrLinker . $v;<br /> $j ;<br /> if($j > 100){ Break; }<br /> }<br /> $j ; <br /> if($j > 100){ ブレーク; }<br> }<br> <br> $textLen = count($textArr);<br> <br> $canvasHeight = $lineHeight * $textLen $canvasHeight ;<br> $im = imagecreatetruecolor($canvasWidth, $canvasHeight); #キャンバスを定義します<br> $colorArray = str2rgb($userStyle[1]);<br> imagefill( $im, 0, 0, imagecolorallocate($im , $colorArray['red'], $colorArray['green'], $colorArray['blue']));<br> <br> $colorArray = str2rgb(' 000000');<br> $colorLine = imagecolorallocate ($im, $colorArray['red'], $colorArray['green'], $colorArray['blue']);<br> $padding = 0;<br> $x1 = $y1 = $x4 = $ y2 = $padding;<br>$x2 = $x3 = $canvasWidth - $padding - 1;<br> $y3 = $y4 = $canvasHeight - $padding - 1;<br> //選択可能なページとして開発でき、このパラメータを渡して、枠線と色を表示します。 <br> imageline($im, $x1, $y1, $x2, $y2, $colorLine);<br> imageline($im, $x2, $y2, $x3, $y3, $colorLine);<br> imageline($im, $x3, $y3, $x4, $y4, $colorLine);<br> imageline($im, $x4, $y4, $x1, $y1, $colorLine);<br><br> //フォント パス。選択可能なページとして開発し、このパラメータを渡すこともできます。 <br> $fontStyle = 'font/' . $fontFile;<br> if(!is_file($fontStyle)){<br> exit ('最初にフォント ファイルを選択してください!');<br> }<br> <br> // 4 つの乱数を書き込みます<br> $colorArray = str2rgb($userStyle[0]);<br> $fontColor = imagecolorallocate($im, $colorArray['red'], $colorArray['green'], $colorArray['blue']);<br> <br> foreach($textArr as $k=>$text) { <br> $offset = $paddingTop $lineHeight * ($k 1) - intval(($lineHeight-$fontSize) / 2);<br> imagettftext($im, $fontSize, 0, $paddingLeft, $offset, $ fontColor, $fontStyle, $text);<br> }<br> <br> $fontColor = imagecolorallocate($im, 0, 0, 0);<br> $offset = 18;<br> $text = ' - ------------------------------------------------- - --------------------------------------------------」 ;<br> imagettftext ($im, 10, 0, $paddingLeft, $offset, $fontColor, $fontStyle, $text);<div class="clear"></div>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。