我正在通过cairo在其图像表面中绘制一些随机矩形,缩放和翻译它并使用显示结果
unsigned char* data = cairo_image_surface_get_data(surface);
但矩形似乎模糊:( 我无法发布屏幕截图)
角(可能)未映射到整数坐标。包含的纹理data
大小和格式与surface
我已经使用抗锯齿设置相同(文本显示更加模糊!!)。我应该怎么做才能将结果形状映射到整数坐标并提高质量(不使用超级采样并且不放弃缩放转换)?
编辑:我使用了下面的代码(有和没有第三行),它没有工作!:
cairo_save(cr);
cairo_identity_matrix(cr);
cairo_translate(cr, 0.5, 0.5);
cairo_scale(cr, size.width, size.height);
cairo_set_antialias(cr, CAIRO_ANTIALIAS_GOOD);
(make the drawing!!)
cairo_restore(cr);
Edit2:我使用了捕捉乐趣。(毕竟转换代码),但它也没有工作:
double szero1 = zero,szero2 = zero, sone1 = one, sone2 = one;
snapToPixel(cr, &szero1, &szero2);
snapToPixel(cr, &sone1, &sone2);
cairo_rectangle (cr, szero1, szero2, sone1, sone2);