Pergunta

Eu preciso de um algoritmo exemplo que vai chamar pixels um de cada vez em um (x, y) sistema baseado em grid, e também colori-los com base em um valor de RBG com base em dados binários que é fornecido em alguma forma. Eu estou procurando nada escrito em php ou um php como linguagem como C, mas que não usa qualquer tipo de api biblioteca ou placa gráfica, como eu estou codificação em php.

Aqui está algo que eu escrevi em PHP, que usa valores de cor aleatória, mas leva 15 segundos para processar em uma tela html:

<?php
$r_max = 240;
$c_max = 320;
$row = -1;//-1 to offset while
while ($row<$r_max){
    ++$row;
    for($column=0; $column<=$c_max; ++$column)
    {
    echo 'ctx.fillStyle = "rgb(', rand()%255, ',', rand()%255, ',', rand()%255, ')";';
    echo 'ctx.fillRect(', $column, ',', $row, ',1,1);';
    }
}
?>
Foi útil?

Solução

Ele parece que você está tentando comandos de saída de JavaScript para desenhar em uma tag <canvas>. A maneira mais rápida para desenhar os pixels pode ser usar moveTo e lineTo. Aliás, por que não é você Outer Loop um loop for assim?

não

for($row=0; $row<=$r_max; ++$row) {
    for($column=0; $column<=$c_max; ++$column) {
        # draw pixel
    }
}

parecer mais natural?

Outras dicas

Não tenho certeza eu entendo muito bem a sua pergunta, mas .. PHP tem funções GD que incluem imagem alocar e chamadas setPixel, linha desenho cheque etc .. aqui

oh e sim imagemagick também para usos mais exóticos

O problema é que você está gerando código para cada pixel. Em vez disso, por que não ter o código de escrita a informação de pixel para o seu formato de imagem favorito, em seguida, exibir que na página? Essa é a mais razoável (para mim) solução algorítmica ... Eu não tenho certeza se ele vai caber o que você está tentando fazer.

Eu não posso usar um formato de imagem, porque não é eficiente para meu uso. Eu estou procurando algum código de exemplo em que uma imagem pode ser exibida com base em dados, apenas para que eu possa ter uma idéia de como fazer o que estou fazendo em um ritmo mais rápido, em seguida, 15 segundos por render. Os loops aninhados I incluídas acima são maneira de lento.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top