2011-03-10 76 views
1

我在想如何在瀏覽器中製作一些很酷的圖像效果,而且我知道可能有點遲,因爲HTML5/CSS3不斷向前邁進這一路,但我是想知道實現一個本質上創建div的庫,以便使用背景偏移量來保存圖像的像素,這會帶來什麼內在限制/問題點。很明顯,這會創建很多div,但是如果你想在小圖像上只使用行或列,看起來這不會是不合理的。通過瀏覽器緩存圖像,不必爲每個細分都提出請求,我能看到的唯一其他潛在問題就是定位的處理,我認爲這不會成爲問題。在這一點上,我沒有什麼東西可以阻止像這樣玩這樣的圖像(所以我會!),但是我很好奇,如果有什麼我在這裏忽略的東西會讓這個想法變得不可行,特別是任何棘手的事情,我應該知道的。謝謝:)將圖像分割爲像素div

編輯:試了這個,它似乎是我的代碼中有一個固有的問題或問題(對不起,它只是玩弄),與任何圖像使用,你會看到不同之處。

var lpath = "images/logo.png" 
window.onload = function(){ 
    console.log('test'); 
    $('body').append("<img id='logo' style='display:none' src="+lpath+">"); 
    console.log($('#logo').width()); 
    console.log('hello'); 
    var logod = $('<div></div>') 
           .addClass('i') 
           .width($('#logo').width()) 
           .height($('#logo').height()) 
           .css('background-image','url('+lpath+')') 
    $('body').append(logod); 
    for(var i = 1; i <= $('#logo').height(); i++){ 
     var cons = $("<div></div>") 
           .height(1) 
           .width($('#logo').width()) 
           .css('background','url('+$('#logo').attr('src')+') no-repeat 0 ' + (-i)); 
     $('body').append(cons); 
    }                 
} 

enter image description here

在頂部圖像僅僅是一個,在底部圖像是一系列1px的高大的div。

PS與瀏覽器縮放有關。

+0

我真的不明白爲什麼。 ''不是一個更好的工具嗎? – 2011-03-10 22:59:54

+0

是的,是一個更好的工具,但它1)它不是HTML4的一部分,2)我不明白爲什麼文檔本身不能用於此目的,它知道像素。我知道,我知道,,但如果不是其他任何事情,爲了好奇心。 – Orbit 2011-03-10 23:02:50

+0

@Orbit夠公平的。我認爲這是可能的,儘管相對較慢和耗費內存(但您已經意識到這一點)。但是,核心問題是如何用真實圖像數據初始化事物?如果沒有'',我不能看到這樣做的方法,只是有一個服務器端工具準備JS。相關:http://stackoverflow.com/questions/1936021/javascript-eyedropper-tell-colour-of-pixel-under-mouse-cursor – 2011-03-10 23:06:21

回答

1

它可能非常緩慢。如果你很聰明,你可以根據需要進行分割,所以瀏覽器可以處理的div更少。我相信你可以做到,但它可能很有趣。