我正在研究用WPF编写的SEM图像处理应用程序.我有一个从Canvas派生的图像显示控件,它使用DrawingVisuals显示图像和叠加(每个"图层"一个).它还使用缩放和平移变换实现缩放和平移,应用于DrawingVisuals.
当我放大图像以查看单个像素时,它们显示为平滑,显然使用双线性过滤来拉伸位图(毫不奇怪,因为WPF是通过Direct3D渲染的).但是,对于我的用例,我宁愿将单个像素视为锐利的盒子,就像在任何像Photoshop这样的图像编辑器中一样.这就是为什么我的应用程序的用户缩放图像 - >能够在像素级别上操作.
在WPF中是否有这样的选项(除了在显示位图之前手动拉伸位图)?我找不到任何东西.
在此先感谢Zbynek Vrastil捷克共和国
我正在使用Java中的Images,我设计了超过100种图像(.png)格式,它们都是Trasparent和Black Color Drawing.
问题是,现在我被要求改变绘图的颜色(黑色 - ).
我搜索了许多在谷歌剪辑的代码,它改变了图像的位图(像素),但我不是在猜测我必须做什么来匹配精确的像素,并在图像处于透明模式时特别替换.下面是.Net中的代码(C#)
Bitmap newBitmap = new Bitmap(scrBitmap.Width, scrBitmap.Height);
for (int i = 0; i < scrBitmap.Width; i++)
{
for (int j = 0; j < scrBitmap.Height; j++)
{
originalColor = scrBitmap.GetPixel(i, j);
if(originalColor = Color.Black)
newBitmap.SetPixel(i, j, Color.Red);
}
}
return newBitmap;
Run Code Online (Sandbox Code Playgroud)
但它根本没有匹配,我调试了它,在整个文件中,没有Color(originalColor)变量的Red,Green,Blue参数值.
有人可以帮忙吗?
我不是问dp,sp和px有什么区别.
我正在设计一个基于谷歌新材料设计的网站,所有测量都在dp(用于网格)和sp(用于文本).我的问题是它们如何转换为像素.我已经设计了超过4年的网站,所有的测量(网格和字体)都以像素为单位.
例如:
1px =?dp =?sp在桌面或任何普通的显示器或移动设备上?
每当非整数像素值用于元素的边界时,浏览器只是将该值截断为整数.为什么会这样?
我知道边框实际上不会占用像素的一部分,但这些类型的值有时会与其他值组合使用以形成完整像素.例如,宽度为1.6px的左右边框应使元素的总宽度增加3px.这是有效的,因为完整值存储在内存中并用于计算.
但是,即使宽度,填充和边距都表现正确,渲染边框时似乎也不是这种情况.
var div = document.getElementsByTagName('div'),
len = div.length,
style;
for (var i = 0; i < len; i++) {
style = getComputedStyle(div[i]);
div[i].innerHTML = div[i].className + ': ' + style.getPropertyValue(div[i].className) + '<br>height: ' + style.getPropertyValue('height');
}Run Code Online (Sandbox Code Playgroud)
div {
width: 300px;
border: 1px solid black;
padding: 50px 0;
text-align: center;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
div.width {
width: 300.6px;
}
div.padding-top {
padding-top: 50.6px;
}
div.margin-top {
margin-top: 0.6px;
}
div.border-top-width {
border-top-width: …Run Code Online (Sandbox Code Playgroud)我想知道如何遍历图像的所有像素.我试过这个:
import cv2
import numpy as np
x = np.random.randint(0,5,(500,500))
img = cv2.imread('D:\Project\Capture1.jpg',0)
p = img.shape
print p
rows,cols = img.shape
for i in range(rows):
for j in range(cols):
k = x[i,j]
print k
Run Code Online (Sandbox Code Playgroud)
它打印一组垂直数字,不是数组的形式.我也得到一个超出范围的数组异常.请建议一种方法.
在使用Code :: Blocks v10.05的C++中,如何在控制台屏幕上绘制单个像素?这很容易,还是只绘制一个矩形会更容易?我该如何着色?对不起,但是我无法从SOF,HF甚至cplusplus.com获得任何代码.这是一个超级马里奥世界的人物在屏幕上.我认为这个游戏是16位的,适用于SNES系统.C :: B说我需要C :: B的SDK.它说"afxwin.h"不存在.可能下载?这就是我想要做的:

我想要比较两张图片,如果像素颜色相同则保存它.我通过这个UIImage扩展函数检测像素的颜色:
func getPixelColor(pos: CGPoint) -> ??? {
let pixelData = CGDataProviderCopyData(CGImageGetDataProvider(self.CGImage))
let data: UnsafePointer<UInt8> = CFDataGetBytePtr(pixelData)
let pixelInfo: Int = ((Int(self.size.width) * Int(pos.y)) + Int(pos.x)) * 4
let r = CGFloat(data[pixelInfo]) / CGFloat(255.0)
let g = CGFloat(data[pixelInfo+1]) / CGFloat(255.0)
let b = CGFloat(data[pixelInfo+2]) / CGFloat(255.0)
let a = CGFloat(data[pixelInfo+3]) / CGFloat(255.0)
return ???
}
Run Code Online (Sandbox Code Playgroud)
例如,我在图片1上运行扫描仪并将其保存在一个数组中?还是字典?然后我在图片2上运行扫描仪,当我从2张图片中获取信息时,将它与什么功能进行比较?
我想看看哪个CGPoint的像素颜色从2个图像中相同?
更新:我更新getPixelColor以返回"(pos)(r)(g)(b)(a)"之后我创建了这个只留下重复的函数(在使用这个功能之前,你需要.)(阵列) !)
extension Array where Element : Equatable {
var duplicates: [Element] {
var arr:[Element] = []
var start = 0
var …Run Code Online (Sandbox Code Playgroud) 我有一个复杂的js函数,其中我实际上需要了解像素字体大小占用多少空间.
我注意到某些字体的大小因字体而异.
如何计算字体的大小?如果它设置为12px,在CSS中,是什么12px意思?那那么12px宽吗?高?还是对角线像素测量?
例如,默认情况下,如果不存在视口元标记,则iPhone和Androids将自动缩放页面以尝试使其非常适合框架.专为台式机设计的网站将被缩小,以便它们适合小视口,但显然像素并未真实地表示.
那么,如何在移动浏览器上显示完整尺寸的网页,以便"300px"在移动设备的屏幕上实际上以300个真实像素表示?
我知道meta视口方法,但是从目前为止我所知道的,当缩放设置为100%并且宽度设置为device_width时,在这种情况下使用的像素比为1.5或1.0,并且您可以检测移动设备正在渲染的像素比率.我似乎无法找到某种方法来明确强制设备仅使用1.0像素比率而不使用1.5像素比率.
如何让设备使用1.0的像素比率,以便CSS中定义的300"像素"实际渲染移动设备屏幕上的300像素?如何以实际尺寸显示网页,而不是像素比率为1.5?
编辑下午6:50 pm 10/24/2011:以下是我不想要的示例:目前,如果您使用元标记设置移动浏览器的视口属性,如下所示:
<meta name="viewport" content="width=device_display, initial-scale=1.0" />
Run Code Online (Sandbox Code Playgroud)
然后这意味着移动浏览器将呈现页面几乎与页面设计完全一样,除了CSS中定义的每个"像素"实际上包含设备屏幕上的1.5像素,因此像素比率为1.5.设置这种1.5像素比率的惯例,使得设计在高分辨率设备上看起来不会太小.
我理解这一点,但我不希望这样.
我希望强制像素比率为1.0,我会以自己的方式处理高分辨率设备.如何在移动浏览器中强制使用1.0像素比率?
这是解释视口元标记和像素比率问题的信息.
此外,这里有一个技巧,允许您根据检测到的像素比率显示不同的图形,这不是我想要做的,但如果没有其他选项将会显示.
如何强制像素比率为1.0?
编辑11/3/2011 8:56 pm:任何人?
从此处澄清术语的信息.
硬件像素:显示器上的物理像素.例如,iPhone 5具有640个水平硬件像素的屏幕.
与设备无关的像素(倾角):设备像素的缩放以匹配正常观看距离处的均匀参考像素,其在所有设备上应该大致相同.iPhone 5的宽度为320 dips.
CSS pixel:用于视口控制的页面布局的单位.宽度:100px等样式的像素尺寸以CSS像素指定.CSS像素与设备无关像素的比率是页面的比例因子或缩放.
有没有办法在硬件像素和CSS像素之间设置关系,如1:1.
我的意思是如果我想将div的宽度设置为100px,即使在Retina显示器上也只有100个硬件像素.