我已经看到它导致SVG-Salamander对我的项目来说足够小.但我不知道我是否可以使用它,因为它既不会怎么做.
我使用这段代码:
public static void main(String[] args) throws IOException, SVGException {
// TODO Auto-generated method stub
File f = new File("./src/game_scheme.svg");
SVGUniverse svgUniverse = new SVGUniverse();
SVGDiagram diagram = svgUniverse.getDiagram(svgUniverse.loadSVG(f.toURL()));
BufferedImage bi = new BufferedImage(320, 240, BufferedImage.TYPE_INT_ARGB);
Graphics2D ig2 = bi.createGraphics();
diagram.render(ig2);
ImageIO.write(bi, "PNG", new File("./yourImageName.png"));
}
Run Code Online (Sandbox Code Playgroud)
但图像并不流畅:(,任何想法?
OpenGL像素/片段在概念上是以半整数像素为中心的1x1个正方形.OpenGL 4.5规范声明:
片段位于其左下角,位于整数网格坐标上.光栅化操作也指一个片段的中心,它从左下角偏移(1/2,1/2)(因此位于半整数坐标上).
光栅化器通常假设像素中心位于整数网格上.由于我试图实现正确的OpenGL三角形填充,我想知道以下程序是否合理.
让我们看一个带有剪裁坐标(-1,-1),(+ 1,-1),(0,+ 1)的三角形的简单情况,如下图所示(假设正投影,z = 0) ).假设我们有一个(小的5x5帧缓冲区),我们将三角形映射到via,glViewport(0,0,5,5)如右图所示,在设备坐标中产生三角形,顶点为(0,0),(5,0),(2.5,5).

如您所见,光栅化器应生成三角形内部的13个片段(图像中的阴影像素).请注意,片段中心位于半整数坐标上.要实现OpenGL规范,这就是结果需要的结果.
扫描线多边形填充将确定扫描线与三角形相交的x跨距,但扫描线为半整数y值,如下图所示:

硬件/固件光栅化器将假设像素中心位于整数网格上,因为这是执行填充的最有效方式.在下图中,我将三角形的设备坐标移动了(-0.5,-0.5),将中心放在整数网格上:

请注意,像素中心现在确实在整数网格上.在传递给片段着色器之前,这个光栅化器只会向每个片段中心添加(0.5,0.5).至少这是我的计划.
处理纹理坐标似乎是直截了当的.想象一下,我分配了纹理坐标(0,0),(1,0),(0.5,1),如下所示.左边的图像使用半整数像素中心(OpenGL方式),右边的图像使用整数像素中心(硬件方式).纹理坐标(任何附加的片段属性)最终都有相同的值 - 即,没有什么特别需要做的.

我的方法看起来是否正确?
图形本身就是一些抽象类.如何调用g.drawImage(Image img, tx, null)或类似的东西实际上绘制到窗口?我看了一下,我得到的可能是在一个实例中发生了java.awt.Component什么?是对的吗?我不知道.
我的主要原因是我想创建自己的Graphics上下文Graphics3D.我的光栅化器将利用它,然后从Graphics3D上下文中可以绘制和操作3D对象.即使我可以继承Graphics我的Rasterizer,我也不知道该怎么做.
在iOS中,我可以像这样打电话
self.layer.shouldRasterize = YES;
Run Code Online (Sandbox Code Playgroud)
在光栅化视图方面,Android中是否有类似的东西,因此不能onDraw()被一致地调用?
我希望阻止视图在a中一次又一次地绘制RecyclerView以节省内存并优化以便更快地滚动.
我在栅格化 shapefile 以在 0.5*0.5 网格上生成点时遇到问题。shapefile 表示全球珊瑚礁对综合威胁的风险级别(低 0、中 100、高 1000、极高 1500)的分类。
我从另一个工作正常的示例中提取了代码,但是当我为我的数据尝试它时,我从 plot 函数中什么也得不到。有关 shapefile 和我的代码的链接,请参见下文:
# Read shapefile into R
library(rgdal)
library(raster)
int.threat.2030 <- readOGR(dsn = "Global_Threats/Integrated_Future",
layer = "rf_int_2030_poly")
## Set up a raster "template" for a 0.5 degree grid
ext <- extent(-110, -50, 0, 35)
gridsize <- 0.5
r <- raster(ext, res=gridsize)
## Rasterize the shapefile
rr <- rasterize(int.threat.2030, r)
## Plot raster
plot(rr)
Run Code Online (Sandbox Code Playgroud)
我可能会出错的任何想法?是shapefile本身的问题吗?
请和谢谢!
我有旋转矩形的四个2d顶点ABCD,我需要使用setpixel(x,y,color)在pixelbufer中光栅化/绘制它(有效)
怎么做?
我正在尝试使用一些代码
// convertilg a b c d do up down left right,
// calculating some dx_left dx_right on y--
// etc (frustrating on special cases when there are 2 up_y vertices in same line etc)
for(;;)
{
drawhorizontalline(y, xstart, xend, color);
if(y==downy) break;
y--;
xstart+=dxstart;
xend+=dxend;
if(y==lefty) dxstart = dxright;
if(y==righty) dxend = dxleft;
}
Run Code Online (Sandbox Code Playgroud)
但它是最令人沮丧的(非常容易出错和最令人沮丧)我真的厌倦了昨天整整这一天,我需要找到一些工作代码,而不是试图调试这个
我想知道是否有人建造了世界各大洲的栅格,每个细胞等于细胞与最近岸的距离.该地图将突出显示内陆最孤立的陆地区域.
我想这只是rasterize一个全局边界的shapefile,然后计算距离.