b.Height和b.Width属性以及C#中的b.HorizontalResolution和b.VerticalResolution有什么区别?
Bitmap b = new Bitmap(@"foo.bmp");
Run Code Online (Sandbox Code Playgroud)
对于我的样本,Height = 65,Width = 375,HorizontalResolution = VerticalResolution = 150.01239.MSDN表示高度和宽度以像素为单位,但HorizontalResolution和VerticalResolution是每英寸像素.那么,这是否意味着这是从扫描仪扫描此图像的dpi?或者这是别的吗?
问题的上下文如下:我想扫描签名并在asp.net页面上显示为表单中的图像.表格是一种标准的政府形式,具有明确的信号空间.当我扫描图像时,我应该考虑哪些因素,以便在浏览器中看到它时以及打印网页时显示它没有任何模糊性.
我不明白的是,所有图像格式是否存储(a)图像的像素大小(高度/宽度),浏览器将在图像标签中显示/调整大小,以及(b)打印机将使用的其他dpi等效值打印?如果不是什么决定了打印纸上的图像尺寸?
我有个问题.我需要在图像中填充(或重新绘制)一些像素,存储在Image控件中.这是一个png图像.我的意思是,所有黑色像素都应该填充例如红色.我怎样才能做到这一点?我以为我可以直接访问像素并使用XOR更改特殊位,但我不知道如何做到这一点.或者也许有一种更简单的方法?
当我上次这样做时,你会使用DirectDraw blit到硬件表面,甚至直接映射它并直接绘制.
今天推荐的方法是什么?使用Direct3D 10/11并做同样的事情?
编辑:为了澄清我的问题,我想做一些软件光栅化,因此需要一种快速的方法将像素数据直接blit到显示器.
我想知道反转帧缓冲区中颜色像素的最佳方法是.我知道这是可能的做glReadPixels()和glDrawPixels(),但这些电话的性能损失是相当大的.
基本上,我正在尝试做的是有一个倒置的颜色十字线,无论背后是什么,它总是可见的.例如,我有一个任意的alpha蒙版位图或纹理,让它在绘制场景后无需深度测试就渲染,并且纹理的蒙版(完整alpha)像素下的所有帧缓冲像素都将被反转.
我一直试图用纹理来做这件事,但是我得到了一些奇怪的结果,所有的混合选项我仍然感到困惑.
我有一个RGB像素的整数数组,看起来像:
pixels[0] = <rgb-value of pixel(0,0)>
pixels[1] = <rgb-value of pixel(1,0)>
pixels[2] = <rgb-value of pixel(2,0)>
pixels[3] = <rgb-value of pixel(0,1)>
...etc...
Run Code Online (Sandbox Code Playgroud)
我正在尝试从中创建一个BufferedImage。我尝试了以下方法:
BufferedImage img = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
img.getRaster().setPixels(0, 0, width, height, pixels);
Run Code Online (Sandbox Code Playgroud)
但是,生成的图像在色带方面存在问题。图像不清楚,并且有斜线和水平线穿过。
用rgb值初始化图像的正确方法是什么?
编辑:这是我的图像看起来像
谢谢,杰夫
我正在做一个奇怪的项目.我可以使用激光切割机来制作模板(金属).我可以使用坐标对机器进行编程以剪切某个图像,但我想知道的是:我怎么能编写一个程序来拍摄黑白扫描图像,并给我黑色区域的坐标?我不介意它是否给出每个像素,即使我只需要外线,我可以做那个部分.
我已经搜索了一段时间了,但是这个问题有很多单词,有很多结果,比如颜色和像素,我发现大量的信息都不相关.我想使用C++或C#,但我可以使用任何语言,包括脚本.
我最近问了一个问题,为什么我们要使用上面列出的3种不同的图像类型,并得到良好/详细的答复。这也使我提出了其他疑问...
假设我正在使用XCode(使用SWIFT)工作,并且在iPhone上使用特定的UIImage时,具有三个图像尺寸@ 1x,@ 2x,@ 3x。现在,我希望它在iPad上看起来不错,所以我增加了一些缩放比例。但是,这将更改iPad需要的1x,2x,3x图像的尺寸,因此我需要再增加3幅图像以补偿该新尺寸。现在,XCode将如何区分两者?我需要检查正在使用的屏幕尺寸,然后选择图像吗?
我读到资产可以帮助我,但这仅适用于iPhone与iPad,如果我在iPhone 4、5、6和iPad上缩放图像会怎样?那有很多不同的大小和@x图像,我读到Apple不喜欢设备检查,所以我不确定会怎样。
我希望这是有道理的。我得到每个设备的@ 1x,2x,3x,但是如果我的应用是为通用设备设计的,那么如何为适当的设备管理所有这些不同大小的代码?
我想将图像的像素打印为矩阵。
这是我正在使用的代码:
from PIL import Image
im = Image.open("8Black.png")
pixels = list(im.getdata())
print(pixels)
Run Code Online (Sandbox Code Playgroud)
我使用photoshop创建了图像“8Black.png”并将其涂成黑色。我使用的 python 版本是 3.5.0。但是,当我运行上面的代码时,我得到:
[0,0,0,0,0,0,0,0,0,0,0,0,...,0]
Run Code Online (Sandbox Code Playgroud)
我想得到这个:
[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[...],[...]]
Run Code Online (Sandbox Code Playgroud)
我试着改变这个:
pixels = list(im.getdata())
Run Code Online (Sandbox Code Playgroud)
对此:
pixels = np.matrix(im.getdata())
Run Code Online (Sandbox Code Playgroud)
但还是没有得到我想要的结果。
如何将像素数据作为矩阵获取?我错过了什么?
// Extra small devices (portrait phones, less than 576px)
@media (max-width: 575.98px) { ... }
// Small devices (landscape phones, 576px and up)
@media (min-width: 576px) and (max-width: 767.98px) { ... }
// Medium devices (tablets, 768px and up)
@media (min-width: 768px) and (max-width: 991.98px) { ... }
// Large devices (desktops, 992px and up)
@media (min-width: 992px) and (max-width: 1199.98px) { ... }
// Extra large devices (large desktops, 1200px and up)
@media (min-width: 1200px) { ... }
Run Code Online (Sandbox Code Playgroud)
代码示例源: …