我在一个名为“gen_height.pht”的文件中创建了一个图像
<?php
header("Content-type: image/png");
$font_file = "../../01 fonts/fonts Google/alef-bold.ttf";
$font_size = 300;
$text = "i";
$width = 400;
$height = 400;
$im = imageCreate ($width, $height);
$background_color = imagecolorallocate($im, 255, 255, 255);
$fontcolor = imagecolorallocate($im, 0, 0, 0);
imageTTFText ($im, $font_size, 0, 0, 400, $fontcolor, $font_file, $text);
imagepng($im);
imagedestroy($im);
?>
现在我将此图像放入 html 画布中:
function load_canvas () {
var canvas = document.getElementById('canvas_height');
var context = canvas.getContext('2d');
img_height = new Image();
img_height.src = 'generators/gen_height.php';
context.drawImage(img_height, 0, 0);
}
之后,我想知道 imagedate(rgb 值),其中:
function tester1() {
var canvas = document.getElementById('canvas_height');
var context = canvas.getContext('2d');
DATA_TRIANGLE = context.getImageData(0, 0, 400, 400).data;
text = '';
var j = 0;
var pixels = new Array();
for (var i = 0; i < 6400; i++) {
text += DATA_TRIANGLE[i] + ', ';
}
document.getElementById('testdiv').innerHTML = text;
}
• 出现 php 图像
• 但图像数据全是 255(函数 tester1 的输出),就像只有白色背景一样
• 当我将 php 图像替换为常规 jpg 图像时,它确实有效并提供了特定的 rgb-data
任何人知道为什么我不从 php-image 中获取数据,而它确实出现了?