1

我在一个名为“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 中获取数据,而它确实出现了?

4

0 回答 0