2013-08-17 63 views
1

我是新來的HTML5的畫布元素。我特別想知道什麼時候應該將一個現有的img元素放入canvas元素中。我應該用canvas元素替換所有的img元素嗎?

這有什麼好處或適當的使用?

我一直在讀Dive into HTML 5並沒有完全得到什麼,我一直在尋找自己的總結髮言在畫布上的話題:

簡單的回答是,出於同樣的原因,你可能想在畫布上繪製文本 。畫布座標圖包括文字,線條和形狀;畫布上的文字只是大型作品的一部分。 A 更復雜的圖可以很容易地使用drawImage()來包含圖標, sprites或其他圖形。

回答

1

圖像標籤最適用於靜態圖像。

Canvas引用HTML5工作組的話說:「可以用於渲染圖形,遊戲圖形或其他可視圖像的依賴於分辨率的位圖畫布。」

因此,您可以將圖像打到畫布上,但這可能會增加您創建的其他作品,如圖表或遊戲圖形。

更新更新後

所以,如果你想創建一個非常複雜的圖表跟蹤實時股票的表現,你可以使用畫布繪製圖形的各種酒吧,然後還可以使用drawImage()將公司徽標放在畫布上以指示哪個欄屬於哪個欄。

+0

Ahh好吧我認爲這樣做更有意義。感謝你的回答! –

+0

沒問題。如果它有幫助,請隨時標記爲答案:) –

1

其中img做這項工作,使用它。 canvas是一個非常強大的工具確實,但:

  1. 雖然它是由今天的瀏覽器的大部分支持,img仍然是更廣泛的支持。
  2. 如果您需要迎合JavaScript禁用的用戶,則不能使用canvas; canvas需要JavaScript來操作,而img不需要。

這就是說,如果你需要的東西只有canvas可以做,請隨意。例如:

  • 您是否需要加載圖像,然後讓用戶對它進行變形或繪製?一個canvas會做的很好。
  • 您是否需要動態繪製一些圖表和圖形? canvas也可以在那裏工作。

當你不需要的canvas更高級的功能,不過,只需要顯示圖像,img是最明顯,最兼容的選擇。

+0

我明白了 - 我認爲這有幫助。你個人有沒有需要在畫布上放置圖像? –

+0

@ Carolann:不是自己的,沒有。我在畫布上放置了一個圖像,然後訪問和修改像素數據,但不是純粹爲了不顯示未修改的圖像。 – icktoofay