相关疑难解决方法(0)

创建缩略图图像

我想在文件位置的网格视图中显示缩略图图像.如何生成.jpeg文件?我正在使用C#语言asp.net.

c# asp.net gridview thumbnails

90
推荐指数
3
解决办法
10万
查看次数

System.Drawing.Image.FromFile()上的Out of Memory异常

我有一个图像上传器和裁剪器,它创建缩略图,我偶尔会在以下行中获得Out Of Memory异常:

Dim bm As Bitmap = System.Drawing.Image.FromFile(imageFile)
Run Code Online (Sandbox Code Playgroud)

错误的发生是微小的,非常罕见,但我总是想知道可能导致它的原因.imageFile变量只是一个Server.MapPath到图像的路径.

我很好奇,如果有人以前遇到过这个问题,他们是否有任何想法可能导致它?这可能是图像的大小吗?

我可以在必要时发布代码以及我所拥有的任何支持信息,但是我很乐意听到人们对此的看法.

asp.net image bitmap

41
推荐指数
3
解决办法
7万
查看次数

用PInvoked GDI和透明PNG替换GDI + DrawImage

我在C#中创建了一个图像服务,它采用了基础层图像(JPG),将一个更透明的PNG层(32位)分层,然后输出最终的JPG图像.我试图从这个函数中挤出最后一毫秒,我的代码是GDI +中DrawImage调用的瓶颈.托管代码在这里:

// Load base image and create graphics
Image image = LoadImage(renderSettings.RenderedImageDirectory + baseLayer);

Graphics graphics = Graphics.FromImage(image);              
graphics.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
graphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic; 
graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
graphics.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.HighSpeed;

// Draw additional layers to final image
for (int i = 1; i < renderLayers.Count; i++) {
    // SLOW -- LoadImage just a utility method that returns an Image from disk or cache
    graphics.DrawImage(LoadImage(renderSettings.RenderedImageDirectory + renderLayers[i]), 0, 0, image.Width, image.Height);            
}

if (graphics != null) graphics.Dispose();
Run Code Online (Sandbox Code Playgroud)

现在,我读到了通过P/Invoke直接调用GDI获得的性能提升,并试图替换DrawImage调用.我创建了一个单元测试,试图复制加载JPG的相同功能,然后在其上层叠一个透明PNG.

参考:http …

gdi+ wic direct2d sharpdx

6
推荐指数
1
解决办法
4268
查看次数

标签 统计

asp.net ×2

bitmap ×1

c# ×1

direct2d ×1

gdi+ ×1

gridview ×1

image ×1

sharpdx ×1

thumbnails ×1

wic ×1