Php 需要的想法,只显示一些像素和灰色的其余像素

Php 需要的想法,只显示一些像素和灰色的其余像素,php,jquery,imagemagick,image-manipulation,gd,Php,Jquery,Imagemagick,Image Manipulation,Gd,我正在寻找想法…为客户头脑风暴一个新项目…我有一个图像…300px 300px…我需要一次显示一个随机像素的图像,直到整个图像显示出来 基本上,在一定的时间间隔内,一个像素被显示并保持显示,而其他像素仍为空白。在每个间隔,随机地显示另一个像素并保持显示以加入其他显示的像素。最终,所有像素都将显示出来 关于如何做到这一点有什么建议吗 我可以制作大量的图像副本并手动显示一个随机像素,但肯定可以通过编程实现:) 哦,它不可能是任何形式的闪光 将图像文件加载到图像资源(、等)中 使用rand()或您希望

我正在寻找想法…为客户头脑风暴一个新项目…我有一个图像…300px 300px…我需要一次显示一个随机像素的图像,直到整个图像显示出来

基本上,在一定的时间间隔内,一个像素被显示并保持显示,而其他像素仍为空白。在每个间隔,随机地显示另一个像素并保持显示以加入其他显示的像素。最终,所有像素都将显示出来

关于如何做到这一点有什么建议吗

我可以制作大量的图像副本并手动显示一个随机像素,但肯定可以通过编程实现:)

哦,它不可能是任何形式的闪光

  • 将图像文件加载到图像资源(、等)中

  • 使用rand()或您希望选择的方式决定要显示的像素

  • 在图像中的每个像素上循环,如果它不是您选择显示的像素,则将其涂成灰色


  • 编辑:我意识到我误解了您需要做的事情,但我认为这很酷,可以应用于您的问题

    我把这个放在jQuery中。我把每个像素变成了一个3x3的长方体,因为否则它的处理时间会太长。虽然我还没有测试IE,但在客户端的某些方面似乎工作得很好

    <div id="w">
        <img id="i" src="yourImage.jpg" width="300" height="300" />
    </div>
    
    $('#w').css({
        width: $('#i').width(),
        height: $('#i').height()
    });
    
    var htmlFrag = '',
        id, ids = [],
        removePix = function () {
            if (ids.length) {
                var rand = Math.floor(Math.random()*ids.length);
                $('#'+ids[rand]).fadeOut(function(){
                    $(this).remove();
                });
                ids = ids.slice(0, rand).concat(ids.slice(rand+1));
                setTimeout(removePix, 1);
            }
        };
    
    for (var i = 0, len = $('#i').height(); i < len; i += 3) {
        for (var j = 0, len = $('#i').width(); j < len; j += 3) {
            id = 'pix'+j+'-'+i;
            ids.push(id);
            htmlFrag += '<div id="'+id+'" class="pix" ' +
                        'style="width:3px;height:3px;position:absolute;' +
                        'left:'+j+'px;top:'+i+'px;"></div>';
        }
    }
    
    $('#w').html($('#w').html() + htmlFrag);
    
    removePix();
    
    
    $('#w').css({
    宽度:$('#i')。宽度(),
    高度:$('i')。高度()
    });
    var htmlFrag='',
    id,id=[],
    removePix=函数(){
    if(ID.长度){
    var rand=Math.floor(Math.random()*ids.length);
    $('#'+ids[rand]).fadeOut(函数(){
    $(this.remove();
    });
    ids=ids.slice(0,rand).concat(ids.slice(rand+1));
    设置超时(removePix,1);
    }
    };
    对于(变量i=0,len=$('#i').height();i

    我怀疑你完全可以用类似CSS精灵的技术在javascript中实现这一点。你可以使用javascript——但这样,当java脚本关闭时,图像立即可见。您可以在服务器端使用gd库,但这将产生CPU和带宽的开销。非常令人印象深刻…喜欢它…需要稍微调整一下,但它绝对是一段甜美的代码…出色的mVChr!真是太好了!也在这里重新使用了: