首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >新闻部对球拍的高度支持

新闻部对球拍的高度支持
EN

Stack Overflow用户
提问于 2019-01-18 14:47:15
回答 1查看 144关注 0票数 3

我正在创建一个简单的程序在球拍,进口两个位图,并导出他们在一个单一的图像。我的MacBook上的像素密度有问题,因为图像是非视网膜的。对于我的图像处理,我使用的是2 2htdp/映像库。

有没有办法来设置我的球拍程序的像素密度?

输出图像的行是:

代码语言:javascript
复制
(save-image final-image "final.png" WIDTH HEIGHT)

我试图不包括太多的信息,但如果有什么我可以添加(更多的代码,例如),以使我的问题更清楚,请告诉我。

P.S:处理这个问题的方式如下:

.html

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-20 17:12:32

这不是一个完整的答案,但也许它会帮助你开始。

首先,你说“图像是非视网膜的”。这可能是一种误解。“视网膜”这个词用来描述屏幕的分辨率,你恰巧使用的是“视网膜”(如果屏幕像素太小,眼睛看不到单个的点,那么屏幕就是“视网膜”)。

然而,我的猜测是,当您在屏幕上绘制加载的图像时,显示的大小是您所期望的大小的一半?

gui文档中的"1.8屏幕分辨率和文本缩放“部分中可以找到原因如下:

在Mac上,屏幕大小是根据绘图单元向用户描述的。Retina显示器为每个绘图单元提供两个像素,而绘图单元用于窗口大小、子窗口位置和画布绘图。字体大小的“点”相当于绘图单元。

一种解决方案是缩放加载的图像,使其大小翻倍:

代码语言:javascript
复制
(scale 2 the-loaded-image)

在画之前。

最后,程序如何才能知道当前的显示器是否是视网膜显示器?函数get-display-backing-scale是您所需要的:

代码语言:javascript
复制
(require racket/gui/base)
(get-display-backing-scale)

如果屏幕为视网膜,则返回2.0,否则为1.0。如果您有多个监视器,请在文档中查找函数,以查看处理该功能的详细信息。

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

https://stackoverflow.com/questions/54256293

复制
相关文章

相似问题

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