Image 和 Bitmap 物件會以裝置無關的格式儲存影像。 CachedBitmap 物件會將影像儲存在當前顯示裝置的格式中。 轉譯儲存在 CachedBitmap 物件中的影像速度很快,因為不會花任何處理時間將影像轉換成顯示裝置所需的格式。
下列範例會從檔案 Texture.jpg建立 Bitmap 物件和 CachedBitmap 物件。 位圖 和 CachedBitmap 各繪製 30,000 次。 如果您執行程式代碼,您會看到 CachedBitmap 影像的繪製速度比 位圖 影像快得多。
Bitmap bitmap(L"Texture.jpg");
UINT width = bitmap.GetWidth();
UINT height = bitmap.GetHeight();
CachedBitmap cBitmap(&bitmap, &graphics);
int j, k;
for(j = 0; j < 300; j += 10)
for(k = 0; k < 1000; ++k)
graphics.DrawImage(&bitmap, j, j / 2, width, height);
for(j = 0; j < 300; j += 10)
for(k = 0; k < 1000; ++k)
graphics.DrawCachedBitmap(&cBitmap, j, 150 + j / 2 );
注意
CachedBitmap 物件在建構 CachedBitmap 物件的時候符合顯示裝置的格式。 如果您的程式使用者變更顯示設定,您的程式代碼應該建構新的 CachedBitmap 物件。 如果您傳遞在顯示格式變更之前建立的 CachedBitmap 物件,DrawImage 方法將會失敗。