gpt4 book ai didi

php - 在 PHP 中创建图像以显示吉他和弦

转载 作者:IT王子 更新时间:2023-10-29 01:09:38 25 4
gpt4 key购买 nike

我有一个以文本格式显示吉他和弦/乐谱的网站。这是我当前显示的内容:

Em:

| | | | | |
| | | | | |
| 2 2 | | |
| | | | | |
| | | | | |

我了解到 GD 可以为此创建动态图像。但我是 PHP 的新手,我不知道该怎么做。

在 PHP 中创建这样的东西来显示图像是否简单?

谢谢

最佳答案

首先下载arial字体并获取此图像(另存为guitar.jpg):

guitar.jpg

并将它们放在与此脚本相同的文件夹中(例如 chords.php):

<?php

function showChord($chord) {
$imgfile = "./guitar.jpg";
$text = ".";
$font = './arial.ttf';

$im = imagecreatefromjpeg($imgfile);
$x = imagesx($im);
$y = imagesy($im);
$fontsize = 100;
$white = imagecolorallocate($im, 0, 0, 0);

$chords = explode('-', $chord);
// chords[0] = e1 and chords[5] = e6

$minimum = min($chords);
imagettftext($im, 15, 0, 1, 32, $white, $font, $minimum);
$add = 0;
if($minimum > 0) {
$add = 30;
}
// chords positions
$interval1 = ($chords[0] != 0 ? (25 + $add + (intval($chords[0]) - $minimum) * 30) : 0);
$interval2 = ($chords[1] != 0 ? (25 + $add + (intval($chords[1]) - $minimum) * 30) : 0);
$interval3 = ($chords[2] != 0 ? (25 + $add + (intval($chords[2]) - $minimum) * 30) : 0);
$interval4 = ($chords[3] != 0 ? (25 + $add + (intval($chords[3]) - $minimum) * 30) : 0);
$interval5 = ($chords[4] != 0 ? (25 + $add + (intval($chords[4]) - $minimum) * 30) : 0);
$interval6 = ($chords[5] != 0 ? (25 + $add + (intval($chords[5]) - $minimum) * 30) : 0);
// write to the image
imagettftext($im, $fontsize, 0, 01, $interval1, $white, $font, $text);
imagettftext($im, $fontsize, 0, 18, $interval2, $white, $font, $text);
imagettftext($im, $fontsize, 0, 36, $interval3, $white, $font, $text);
imagettftext($im, $fontsize, 0, 53, $interval4, $white, $font, $text);
imagettftext($im, $fontsize, 0, 70, $interval5, $white, $font, $text);
imagettftext($im, $fontsize, 0, 86, $interval6, $white, $font, $text);
header("Content-type: image/jpeg");
imagejpeg($im);
ImageDestroy($im);
}

# $chord = '0-2-2-0-0-0'; //Em
$chord = '2-4-4-3-2-2'; //F#
showChord($chord);

这将输出类似于 F# 的内容。左上角的2表示二品:

enter image description here

**注意:我还将图像保存到磁盘,这样您就不必一遍又一遍地重新生成相同的选项卡。*

关于php - 在 PHP 中创建图像以显示吉他和弦,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8028906/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com