问题描述
我正在渲染一系列带有网格的接触多边形,并使用 ragg 包将其保存到 png 文件中。每当我使用 ragg 包执行此操作时,我的多边形顶部都会出现一个白色网格。
我认为这是一个抗锯齿的人工制品,但有没有办法让 ragg 将下面的图形渲染为蓝色的固体块?我的实际案例不是单色的,但它更好地显示了人工制品。
library(grid)
library(scales)
library(ragg)
# Center of rectangles
grid <- expand.grid(x = 1:10,y = 1:10)
# Centers to xmin/xmax/ymin/ymax
poly <- cbind(
c(grid$x - 0.5,grid$x + 0.5,grid$x - 0.5),c(grid$y - 0.5,grid$y - 0.5,grid$y + 0.5,grid$y + 0.5)
)
# Rotate rectangles
angle <- 30 * pi / 180
rot <- matrix(c(cos(angle),sin(angle),-sin(angle),cos(angle)),2)
poly <- t(tcrossprod(rot,poly))
# Make grob
grob <- polygonGrob(
x = rescale(poly[,1]),y = rescale(poly[,2]),id = rep(seq_len(nrow(grid)),4),gp = gpar(
fill = "dodgerblue",col = NA
)
)
# Save with ragg
agg_png("test.png")
grid.newpage(); grid.draw(grob)
dev.off()
#> png
#> 2
由 reprex package (v1.0.0) 于 2021 年 3 月 25 日创建
注意:cairo png 设备也是如此。默认的 png()
设备呈现大量蓝色,但在最外边缘的抗锯齿效果很差。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)