秋天的云

博客园 首页 新随笔 联系 订阅 管理
  10 Posts :: 7 Stories :: 24 Comments :: 0 Trackbacks

公告

最新评论

共2页: 1 2 下一页 
AJAX在VS2008里面可能得到更多的支持。

的确现在AJAX是很热门!

也欢迎你到我的博客做客:)http://www.10000o.com.cn
to: James Chen
应该是string GetCallbackResult()
"void GetCallbackResult() "???
该是string吧
找了这么多地方,只有这里最简单

不过
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
下的几个Enterprise Library *是否也应该注册?
——我之前使用installutil手工注册dll


我这里可以统计到颜色的个数
不行啊,老大!
用这个试试
unsafe
{
Bitmap bitmap = (Bitmap)this.pictureBox1.Image;
Color color = bitmap.GetPixel(e.X, e.Y );
label2.BackColor = color;
Rectangle rect = new Rectangle( 0, 0, bitmap.Width, bitmap.Height );
BitmapData bitmapData = bitmap.LockBits( rect, ImageLockMode.WriteOnly, PixelFormat.Format32bppArgb );
int sum = 0;
int* colorData = (int*) bitmapData.Scan0.ToPointer();

for( int i = 0; i < bitmap.Width * bitmap.Height; i ++ )
{

if(colorData[ i ] == Color.FromArgb( color.R, color.G, color.B ).ToArgb())
{
sum++;
}
}
bitmap.UnlockBits( bitmapData );


bitmapData = null;

//结果
label1.Text = sum.ToString();
  double dd = sum/bitmap.Width * bitmap.Height;
this.label3.Text = dd.ToString();

}
经测试 colorData[ i ] 此值一直为 0
private void pictureBox1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
unsafe
{
Bitmap bitmap = (Bitmap)this.pictureBox1.Image;
Color color = bitmap.GetPixel(e.X, e.Y );
label2.BackColor = color;
Bitmap CImage= (Bitmap)this.pictureBox1.Image;
Rectangle rect = new Rectangle( 0, 0, CImage.Width, CImage.Height );
BitmapData bitmapData = bitmap.LockBits( rect, ImageLockMode.WriteOnly, PixelFormat.Format32bppArgb );
int sum = 0;
int* colorData = (int*) bitmapData.Scan0.ToPointer();

for( int i = 0; i < CImage.Width * CImage.Height; i ++ )
{

if(colorData[ i ] == Color.FromArgb( color.R, color.G, color.B ).ToArgb())
{
sum++;
}
}
bitmap.UnlockBits( bitmapData );


bitmapData = null;

//结果
label1.Text = sum.ToString();
  float Comparison=sum/CImage.Width * CImage.Height;

}

}

结果为0
为什么?
统计不出来啊? 呜呜~~~~~~~~
没关系啦,老大,能调出程序是关键,强烈感谢
对不起
unsafe
{
//上面的代码
}
指针出错啦? 我把这段程序放到 private void pictureBox1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
}
事件中,错误提示为 :指针只能用于不安全的上下文中
不精确就不是相同的颜色了!1
Color.FromArgb( r, g, b ).ToArgb()
是你要比较的象素点
还有一个问题啊,就是 Bitmap图片的颜色看着是相同的颜色但值 不一定相同,因此这个程序应该有一个容错的问题,
if(colorData[ i ] ==Color.FromArgb( r, g, b ).ToArgb())
这条语句应该设置一个范围吧,不应该精确对比吧 ?
内容不全啊! r g b 从何而来的啊?
不可能解决这样的问题,你根据你的情况分析!
共2页: 1 2 下一页