• 29-07-2021, 04:08:12
    #1
    merhabalar,
    yıllar önce yapmıştım şimdi yapamadım
    sayfaya gelen dinamik yazıyı resme çevirmek istiyorum,
    arka planda bir çerçeve resim de kullanabilirim,
    diğer bir sıkıntım, türkçe karakter ve multi line olduğu durumda yazının kayması.
    hepsinin bir çaresi var ama kafamda bi derleyip toplayamadım !!
    var mı fikir verecek bi arkadaş ücretli / ücretsiz?


    hepinize teşekkür ediyorum. örnek kodu buraya da ekleyeyim belki birine lazım olur.
    aslında biraz da meselenin kırılma noktası "$text = wordwrap($txt, 35, "n");" imiş. belirli bir karakterden sonra parçala alt satıra in şeklinde.

    <?php
    // (A) OPEN IMAGE
    $img = imagecreatefromjpeg('balloon.jpg');
    
    // (B) WRITE TEXT
    $white = imagecolorallocate($img, 255, 255, 255);
    $txt = "Yağmur yüklü siyah bir bulut annemin gözlerinden bir daha hiç ayrılmadı. Yağmurlarını her fırsatta yorgun gözlerinden boşalıyordu. Hayat sık sık annemin gözlerinden sızıp, yanaklarından aşağıya doğru törensel bir havada iniyordu.";
    $text = wordwrap($txt, 35, "\n");
    $font = "C:\Windows\Fonts\arial.ttf"; 
    imagettftext($img, 24, 0, 20, 40, $white, $font, $text);
    
    // (C) OUTPUT IMAGE
    header('Content-type: image/jpeg');
    imagejpeg($img);
    imagedestroy($img);
    
    // OR SAVE TO A FILE
    // THE LAST PARAMETER IS THE QUALITY FROM 0 to 100
    //imagejpeg($img, "test.jpg", 100);
    ?>
    örnek :
  • 29-07-2021, 04:13:27
    #2
    https://code-boxx.com/convert-text-i.../#sec-download
    bu işine yarayabilir
  • 29-07-2021, 04:18:59
    #3
    CTL adlı üyeden alıntı: mesajı görüntüle
    teşekkür ederim
    2 saattir code-boxx dolanıyorum zaten çorba ettim herşeyi
    multi line çözsem türkçe karakter çalışmıyor onu halletsem çerçeve çalışmıyor,
    tam çalıştı diyorum pat hepsi gidiyor
  • 29-07-2021, 04:27:20
    #4

    böyle bişey yaptım işine yararsa
    <?php
    // (A) NEW EMPTY IMAGE OBJECT
    $img = imagecreate(500, 500);
     
    // (B) SET COLORS
    $blue = imagecolorallocate($img, 0, 0, 255);
    $white = imagecolorallocate($img, 255, 255, 255);
     
    // (C) EMPTY BLUE RECTANGLE
    imagefilledrectangle($img, 0, 0, 150, 80, $blue);
     
    // (D) WRITE TEXT
    $txt = "DenemeÇŞÖ\nÇÖOsad";
    $text = wordwrap($_POST['title'], 15, "\n");
    
    $font = "C:\Windows\Fonts\Arial.ttf"; // ! CHANGE THIS TO YOUR OWN !
    // imagettftext(IMAGE, FONT SIZE, ANGLE, X, Y, COLOR, FONT, TEXT)
    imagettftext($img, 24, 5, 5, 55, $white, $font, $txt);
     
    // (E) OUTPUT
    /* WE CAN ALSO OUTPUT IN JPEG
    * header('Content-type: image/jpeg');
    * imagejpeg($img)
    */
    header('Content-type: image/png');
    imagepng($img);
    imagedestroy($img);
    ?>
  • 29-07-2021, 04:58:53
    #5
    Üyeliği durduruldu
    https://www.youtube.com/watch?v=BM_VNoRJQDs
  • 29-07-2021, 06:07:36
    #6
    Selamlar

    Şu library bakabilirsiniz https://github.com/Intervention/image

    Bu dökümantasyon http://image.intervention.io/api/text

    // create Image from file
    $img = Image::make('public/foo.jpg');
    
    // write text
    $img->text('The quick brown fox jumps over the lazy dog.');
    
    // write text at position
    $img->text('The quick brown fox jumps over the lazy dog.', 120, 100);
    
    // use callback to define details
    $img->text('foo', 0, 0, function($font) {
        $font->file('foo/bar.ttf');
        $font->size(24);
        $font->color('#fdf6e3');
        $font->align('center');
        $font->valign('top');
        $font->angle(45);
    });
    
    // draw transparent text
    $img->text('foo', 0, 0, function($font) {
        $font->color(array(255, 255, 255, 0.5));
    });
  • 29-07-2021, 07:30:30
    #7
    bu işini çözebilir.

    https://www.verot.net/php_class_upload.htm
  • 29-07-2021, 07:49:28
    #8
    ozan0810 adlı üyeden alıntı: mesajı görüntüle
    merhabalar,
    yıllar önce yapmıştım şimdi yapamadım
    sayfaya gelen dinamik yazıyı resme çevirmek istiyorum,
    arka planda bir çerçeve resim de kullanabilirim,
    diğer bir sıkıntım, türkçe karakter ve multi line olduğu durumda yazının kayması.
    hepsinin bir çaresi var ama kafamda bi derleyip toplayamadım !!
    var mı fikir verecek bi arkadaş ücretli / ücretsiz?
    JavaScript ile belerlediğiniz mesela id ile alanı resime cevirebilirsiniz png.jpg v.s

    https://www.npmjs.com/package/html-to-image
  • 30-07-2021, 05:23:39
    #9
    CTL adlı üyeden alıntı: mesajı görüntüle

    böyle bişey yaptım işine yararsa
    <?php
    // (A) NEW EMPTY IMAGE OBJECT
    $img = imagecreate(500, 500);
     
    // (B) SET COLORS
    $blue = imagecolorallocate($img, 0, 0, 255);
    $white = imagecolorallocate($img, 255, 255, 255);
     
    // (C) EMPTY BLUE RECTANGLE
    imagefilledrectangle($img, 0, 0, 150, 80, $blue);
     
    // (D) WRITE TEXT
    $txt = "DenemeÇŞÖ\nÇÖOsad";
    $text = wordwrap($_POST['title'], 15, "\n");
    
    $font = "C:\Windows\Fonts\Arial.ttf"; // ! CHANGE THIS TO YOUR OWN !
    // imagettftext(IMAGE, FONT SIZE, ANGLE, X, Y, COLOR, FONT, TEXT)
    imagettftext($img, 24, 5, 5, 55, $white, $font, $txt);
     
    // (E) OUTPUT
    /* WE CAN ALSO OUTPUT IN JPEG
    * header('Content-type: image/jpeg');
    * imagejpeg($img)
    */
    header('Content-type: image/png');
    imagepng($img);
    imagedestroy($img);
    ?>
    $text = wordwrap($_POST['title'], 15, "n") yazan kısmı silince ve $font = "C:WindowsFontsArial.ttf"; // ! CHANGE THIS TO YOUR OWN ! yazan kısımdaki Arial.ttf download edip yolu tam girdiğinde veya php dosyasıyla aynı yere attığında o zaman çalıştı yoksa hata veriyor.