2

いつでもどこでも

いつでもどこでも無料でダウンロードできます.

私は多くのチュートリアル/例と検索を試みました。解決策が見つかりませんでした。

  • ヒント: (誰かの生活が楽になることを願っています。)

大きな問題でしたが、イメージ作成で解決したのは、Windows SharePoint を使用して .php ファイルを保存することでした。私が保存していたすべてのファイルには、何か UTF BOM がありました。

シンプルなメモ帳を使用して UTF-8 エンコーディングで同じファイルを保存すると、PHP でのイメージ作成が開始されました。

  • 私の問題。

私は URDU (南アジアで 10 億人が話す言語) の文を持っています。たとえば、文字列を UTF-8 で保存し、データベースに完全に保存し、Web ブラウザーに表示します。

英語とは異なり、ウルドゥー語の文字は結合して単語を形成します。結合している間、見た目の形状 (サイズまたはスタイル) が切り取られます。

私はこのコードに取り組んでいます

<?php
function watermarkImage ($SourceFile, $WaterMarkText, $DestinationFile) { 
    //$SourceFile is source of the image file to be watermarked
    //$WaterMarkText is the text of the watermark
    //$DestinationFile is the destination location where the watermarked images will be placed
    //Delete if destinaton file already exists
    @unlink($DestinationFile);

    //This is the vertical center of the image
    $top = getimagesize($SourceFile);
    $top = $top[1]/2;
    list($width, $height) = getimagesize($SourceFile);

    $image_p = imagecreatetruecolor($width, $height);

    $image = imagecreatefromjpeg($SourceFile);

    imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width, $height); 

    //Path to the font file on the server. Do not miss to upload the font file
    $font = 'arial.ttf';

    //Font sie
    $font_size = 36; 

    //Give a white shadow
    $white = imagecolorallocate($image_p, 255, 255, 155);   
    imagettftext($image_p, $font_size, 0, 10, $top, $white, $font, $WaterMarkText);

    //Print in black color
    $black = imagecolorallocate($image_p, 0, 0, 0);
    imagettftext($image_p, $font_size, 0, 8, $top-1, $black, $font, $WaterMarkText);

   if ($DestinationFile<>'') {

      imagejpeg ($image_p, $DestinationFile, 100); 

   } else {

      header('Content-Type: image/jpeg');

      imagejpeg($image_p, null, 100);

   };

   imagedestroy($image); 

   imagedestroy($image_p); 

};

?>

<?php
/*
// The text to draw
    require('../../../I18N/Arabic.php');   //  It converts the  left side language to right side 
    $Arabic = new I18N_Arabic('Glyphs');  // 
    $font = './DroidNaskh-Bold.ttf';
$text = "جب درخشاں ہوں ستاروں کے چراغ";

$text =  $Arabic->utf8Glyphs('جب درخشاں ہوں ستاروں کے چراغ ');
It gave me   ﻍﺍﺭچ ےک ںﻭﺭﺎﺘﺳںﻭہ ںﺎﺸﺧﺭﺩ ﺐﺟ    ,  reversing the string ,  
*/

 $text = "ﻍﺍﺭچ ےک ںﻭﺭﺎﺘﺳںﻭہ ںﺎﺸﺧﺭﺩ ﺐﺟ";   // Problem in joining of Urdu - 

// Text
// Sequence  of characters reversed in string using utf8Glyphs(  ) ; 

$SourceFile = 'nature  (28).jpg';//Source image
$DestinationFile = 'watermarked/sky.jpg';//Destination path 
//Call the function to watermark the image
watermarkImage ($SourceFile, $text, $DestinationFile);

//Display watermarked image if desired
if(file_exists($DestinationFile)){
    echo "<img src=\"watermarked/sky.jpg\">";
    echo "<p>The image has been watermarked at '".$DestinationFile."'</p>";
}
?>

UTF-8以外のFLYでの私のイメージ作成は正常に機能しています。

敬具。

4

1 に答える 1

0

アラビア文字の結合を実行するには、追加のライブラリが必要です。AR-PHP をチェックしてください。

于 2015-05-07T11:16:25.633 に答える