我有一段代码,我在尝试从图像中获取像素值时发现,我不太明白,
red = (rgb & 0x00ff0000) >> 16;
Run Code Online (Sandbox Code Playgroud)
我知道如果有红色,它会在值上加1,我认为该0x00ff0000位是红色的十六进制值,并且>>向右移位16位.
解释是什么?
我正在编写一个程序来比较两个图像相互比较基于颜色和我使用欧几里德距离算法然而当我运行它并传入两个图像我得到一个距离,然后当我传入相同的图像,但反过来我得到一组完全不同的结果.
这是正常的还是答案应该是一样的?
我用来计算欧氏距离的陈述是:
distance = (int) Math.sqrt( (rgb1.getR()-rgb2.getR())^2
+ (rgb1.getG()-rgb2.getG())^2
+ (rgb1.getB()-rgb2.getB())^2
);
Run Code Online (Sandbox Code Playgroud) 我正在尝试动态地将控件添加到窗口上的包装面板但是在将两个包装面板控件添加到原始包装面板控件之后它不再添加这里是用于添加图像的代码
Random rn = new Random();
ImageContainer.Children.Add(displayimage(rn.Next(amount)));
ImageContainer.InvalidateVisual();
Run Code Online (Sandbox Code Playgroud)
我是wpf的新手,只是想知道我是做错了什么或错过了什么.
任何帮助将不胜感激
编辑
public WrapPanel displayimage(int i)
{
WrapPanel pn = new WrapPanel();
pn.Width = 350;
pn.Height = 400;
pn.Background = new SolidColorBrush(Colors.White);
BitmapImage bm = new BitmapImage(new Uri(imagePaths[i]));
Image im = new Image();
im.Source = bm;
im.Height = 300;
im.Width = 400;
im.Margin = new Thickness(25,25,25,25);
pn.Children.Add(im);
pn.Margin = Location(pn);
pn.ClipToBounds = true;
return pn;
}
Run Code Online (Sandbox Code Playgroud) 在编写与数据库交互的应用程序时,我能够使其工作的唯一方法是Class.forName("com.mysql.jdbc.Driver")在每个与数据库交互的方法中编写.
这是唯一的方法吗?还是有更简单的方法?
我正在写一个基本的64字符串,我已经从一个图像到一个文本文件,我得到2-4 MB和大约50,000行长的文件这是正常大小?
我正在用Java进行编程,之前没有使用base 64或图像处理,只是想检查是否有办法使文件更小?
对此有任何帮助将不胜感激,谢谢.
即时开发一个应用程序,允许用户拍照,然后它在后台做一些工作,但我遇到了一个问题,我已经硬编码图片大小到它,它导致错误在另一个手机上一个我正在使用和我假设它下降到手机不支持我硬编码的相机大小.
我已经在这里阅读了它,但答案是模糊的所有人一直说是使用getSupportedSizes方法,但我只是不知道如何处理它之后.
任何帮助将不胜感激.