相关疑难解决方法(0)

C#Image.Clone内存异常

为什么我会出现内存不足异常?

所以这首次在C#中死掉了:

splitBitmaps.Add(neededImage.Clone(rectDimensions,neededImage.PixelFormat));

其中splitBitmaps是List <BitMap>但是这在VB中工作至少4次迭代:

arlSplitBitmaps.Add(Image.Clone(rectDimensions,Image.PixelFormat))

其中arlSplitBitmaps是一个简单的数组列表.(是的,我在c#中试过arraylist)

这是完整的部分:

for (Int32 splitIndex = 0; splitIndex <= numberOfResultingImages - 1; splitIndex++)
{ 
  Rectangle rectDimensions;

  if (splitIndex < numberOfResultingImages - 1) 
  {
    rectDimensions = new Rectangle(splitImageWidth * splitIndex, 0, 
      splitImageWidth, splitImageHeight); 
  } 
  else 
  {
    rectDimensions = new Rectangle(splitImageWidth * splitIndex, 0, 
     sourceImageWidth - (splitImageWidth * splitIndex), splitImageHeight); 
  } 

  splitBitmaps.Add(neededImage.Clone(rectDimensions, neededImage.PixelFormat)); 
Run Code Online (Sandbox Code Playgroud)

}

aptImage顺便说一句就是Bitmap.

我在intarweb上找不到任何有用的答案,尤其不是为什么它在VB中运行得很好.

更新:

我实际上找到了这个工作的原因(但有点),但忘了发布它.它与将图像转换为位图有关,而不仅仅是在我记得的情况下尝试克隆原始图像.

c# image exception

47
推荐指数
4
解决办法
4万
查看次数

从图像中删除周围的空白

我有一块从客户那里收到的产品图片.每个产品图像是一个东西的图片,它是用白色背景拍摄的.我想裁剪图像的所有周围部分,但只留下产品在中间.这可能吗?

举个例子:[ http://www.5dnet.de/media/catalog/product/d/r/dress_shoes_5.jpg] [1 ]

我不希望删除所有白色像素,但是我希望裁剪图像,使最顶部的像素行包含一个非白色像素,最左边的垂直像素行包含一个非白色像素,底部 - 大多数水平像素行包含一个非白色像素等.

C#或VB.net中的代码将不胜感激.

c# vb.net graphics

26
推荐指数
6
解决办法
3万
查看次数

自动将位图修剪为最小尺寸?

假设我有一个System.Drawing.Bitmap32bpp的ARGB模式.这是一个很大的位图,但它主要是完全透明的像素,在中间某处有一个相对较小的图像.

什么是快速算法来检测"真实"图像的边框,所以我可以裁掉周围的所有透明像素?

或者,我可以使用.Net中的功能吗?

c# gdi+ bitmap image-processing

11
推荐指数
1
解决办法
7460
查看次数

标签 统计

c# ×3

bitmap ×1

exception ×1

gdi+ ×1

graphics ×1

image ×1

image-processing ×1

vb.net ×1