為啥這個圖在微博小圖和大圖看到的不一樣呢?
02-01
這是小圖看到的。
這是大圖看到的。圖片是自己截的。求解釋。
這是一張png,除了人和星空燈以及白色的星星(謝謝 @胡昂哲 提醒),其它東西都是半透明的。打開到ps里不疊加任何底色是醬紫的:
一般微博貼吧什麼的顯示照片默認白底,就變成醬紫:
但是當你點開大圖,底色一般都是黑色,就變成醬紫:
如果填上漸變色,就是醬紫:附上原圖:(上傳到知乎變成奇怪的圖片了...不過在pc網頁端打開原圖是可以看到透明效果的)
應該是做了一個有兩幀的gif,第一幀持續時間很短。因為微博小圖是截取gif的第一幀做縮略圖的,所以是你看到的那個小圖,打開以後就開始播放gif動畫了,因為第一幀很短,所以馬上就被跳過去了,就顯示第二張那個滿天星河的圖片了。gif可以設置只播放一遍,所以最後就靜止在你看到的大圖上了。
至於說為何是jpg格式的,這個很簡單,就是把擴展名改為jpg格式了而已。把gif的擴展名改為jpg完全不影響播放。
====================================
以上的回答是看到問題的第一時間的回答。這個只是一種小圖是一回事,大圖又是一回事的圖片的製作方法。並非是題目中的圖片的製作方法。根據其他答主的回答,題目中的圖像應該是用透明度做的。仔細看白色背景的圖片,會有淡淡的藍紫色顯示出來,跟黑色背景中銀河的背景顏色一致。應該是用透明度的原理做的。我只知道這個星空儀的效果遠遠沒有想像呢那麼好。
我不玩微博,不過我猜測有兩種可能:
- 縮略圖是EXIF信息中的 Thumbnail,而 EXIF 信息是可以任意修改的。要做成這樣只需要把想要顯示的縮略圖放在EXIF裡面就可以了。EXIF官方規範:http://www.cipa.jp/std/documents/e/DC-008-2012_E.pdf
- 縮略圖是一張不循環的兩幀 GIF 圖片,切換時間極短。縮略圖只會顯示第一幀,點開之後則會迅速切換到第二幀並停留。不過我也不明白為啥會有題主所說的下載下來是 JPG 格式的問題,可能瀏覽器下載的時候默認圖片是 JPG 格式,但是信息沒有丟,改一下擴展名就能復原了。。。
GIF或者png格式的圖片可以是透明的,本圖第一張在小圖狀態下,原來軟體的底色是白色,打開以後底色成了黑色。原圖白色部分有的是透明的有的本身是白色,在白色的底之下看不出來,但是當底變成黑色以後原來是白色的地方(即星星)就可以看出來了
跟圖像的gamma值有關。可以看看下面這篇文章神奇的 PNG 縮略圖魔術 神奇的 PNG 縮略圖魔術文章中提供了Ruby的實現源代碼,我自己比較有興趣,在試著用C#實現
推薦閱讀: