2013-02-20 47 views
1

我在drracket中創建了一個位圖,我想將它保存爲我的硬盤驅動器上的一個.bmp文件。如何在球拍中保存一個.bmp文件?

#lang racket 
(require racket/draw) 

(define test-bitmap 
    (let* ((target (make-bitmap 60 30)) 
     (dc (new bitmap-dc% [bitmap target]))) 
    (send dc set-font (make-font #:size 14 #:family 'roman 
           #:weight 'bold)) 
    (send dc set-text-foreground "blue") 
    (send dc draw-text "test" 5 1) 
    target)) 

(send test-bitmap save-file "test.bmp" 'bmp) 

當我運行這段代碼,drracket報告說,「保存文件的位圖%:一種節約尚未落實:「BMP」如果我使用'PNG作爲一種在保存文件的消息,該文件可以正確保存(儘管有顯着的視覺僞影)。

documentation for bitmap%列出'bmp作爲此操作的有效種類。

這實際上是未實現的,還是我犯了一個愚蠢的錯誤?

+0

什麼樣的「重要的視覺文物」?如果是格紋背景,那是因爲您沒有設置背景顏色,有些程序會顯示跳棋以表示透明背景。 – 2013-02-20 19:10:02

+0

我試圖保存的實際圖像是在白色背景下以各種顏色顯示的文本網格,並且在很多情況下都是綠色的文本輪廓。 – 2013-02-20 19:40:48

+1

奇怪!你可以在一些地方提供示例代碼供人們調查嗎?保存到'.png'時不應該有視覺工件。 – dyoo 2013-02-20 19:43:42

回答

2

目前,BMP文件只能加載,不能保存。有關更多詳細信息,請參閱racket/draw/private/bitmap.rkt

是的,這確實使save-file的文檔有誤。我真的沒有在源代碼中發現任何暗示save-file實際上會支持bmp的東西。

+0

感謝您的鏈接。我想,我可以和png一起生活。 – 2013-02-20 19:41:40