首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用图像文件作为游标

使用图像文件作为游标
EN

Stack Overflow用户
提问于 2016-06-10 06:15:13
回答 1查看 114关注 0票数 1

我是新来的球拍和StackOverflow。我正在尝试使用IMAGE.png作为游标。但是光标的白色部分是由背景色合并的。如果我将光标悬停在黑色厚线上,当白色变得透明时,光标是完全不可见的。白色应该是不透明的。

首先,我使用这个,它有256x256维,32位深度。我用以下代码将尺寸调整为16x16。

代码语言:javascript
复制
(require 2htdp/image)  

(define mag IMAGE.png);; acutally, I used "insert image" in DrRacket IDE  
(define new-mag (scale (/ 1 16) mag))  
(save-image new-mag "mag.png")  
new-mag  
(image-width new-mag)  
(image-height new-mag) 

根据游标%的文档,必须使用16x16位深度1的位图文件来创建游标。若要将比特深度更改为1,请应用以下代码。

代码语言:javascript
复制
(require racket/gui/base)

(define bm1 (read-bitmap "mag.png"))  
(define bm2 (make-object bitmap% 16 16 #t #f 1.0))  
(send (send bm2 make-dc)draw-bitmap bm1 0 0)  
(send bm2 save-file "mag2use.png" 'png)  
(define bm (read-bitmap "mag2use.png"))  
(printf "~a ~a ~a ~a~n"   
    (send bm get-width)  
    (send bm get-height)  
    (send bm get-depth)  
    (send bm is-color?))  

然后我使用位图mag2use.png作为光标。

代码语言:javascript
复制
(define zoom-cursor (make-object cursor% bm bm 0 0))
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-10 07:23:52

不幸的是,文档没有提到掩码参数是透明掩码。

掩码中的白色像素在光标中变得透明,并且您正在使用位图本身作为掩码。

填充你想要不透明的部分,并在面具上涂上黑色。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37741113

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档