小编ham*_*eza的帖子

位图克隆问题

请考虑以下代码来加载,修改和保存位图图像:

    using (Bitmap bmp = new Bitmap("C:\\test.jpg"))
    {
        bmp.RotateFlip(RotateFlipType.Rotate180FlipNone);
        bmp.Save("C:\\test.jpg");
    }
Run Code Online (Sandbox Code Playgroud)

它运行没有任何异常.但考虑一下:

    using (Bitmap bmp = new Bitmap("C:\\test.jpg"))
    {
        using (Bitmap bmpClone = (Bitmap)bmp.Clone())
        {
            //You can replace "bmpClone" in the following lines with "bmp",
            //exception occurs anyway                    
            bmpClone.RotateFlip(RotateFlipType.Rotate180FlipNone);
            bmpClone.Save("C:\\test.jpg");
        }
    }
Run Code Online (Sandbox Code Playgroud)

它以ExternalException结束,并显示以下消息:"GDI +中发生了一般错误".这有什么不对?打开文件的任何类型的锁定?如果是这样,为什么第一个块有效?克隆System.Drawing.Bitmap的正确代码是什么,而我们可能需要在内存中编辑主对象或其克隆,并且仍然将它们都加载到内存中?

c# clone exception bitmap

8
推荐指数
3
解决办法
8624
查看次数

在内存中有一个图像文件缓冲区,创建缩略图的最快方法是什么?

尝试创建一个针对快速扫描仪优化的图像采集应用程序(可以为每张纸提供最多6个压缩图像[颜色+灰色+二进制] [前+后],速度为150 ppm)我有一些速度问题.使用TWAIN技术和内存缓冲区传输模式(TWSX_MEMORY)我从扫描仪接收图像缓冲区(作为内存中加载的JPEG或TIFF文件)并将其保存到我的应用程序目标路径.如果我不想创建缩略图,我的应用程序不会导致扫描仪的速度损失,但如果我愿意,由于我这样做(将缓冲区保存到我的C++ TWAIN处理dll中的文件中,通知我的.NET主机应用程序使用函数指针的目标文件路径,在C#中打开图像文件并创建缩略图图像),我的应用程序导致极速的速度损失扫描速度.我尝试了一些优化,例如在单独的线程中执行加载阶段,并将非托管图像文件缓冲区发送到.NET主机,并尝试在不安全的上下文(UnmanagedMemoryStream)中加载它并创建缩略图.但它没有显着提高速度.所以我的问题是:

在内存中有一个图像文件缓冲区(例如24位JPEG压缩而没有嵌入缩略图),是否有快速直接的方法从中创建缩略图?在这种情况下,您建议什么是创建缩略图的最快方法?

c++ jpeg tiff image-processing thumbnails

7
推荐指数
1
解决办法
2169
查看次数

检查表中是否有可能不存在的记录

我必须检查一些表中是否存在具有特定条件的记录,这些记录可能不存在,我必须在标量函数中执行此操作.

这是我的代码:

CREATE FUNCTION CheckIfRecordsExistInTestTable()
RETURNS INT
BEGIN
DECLARE @Result INT
SELECT @Result = 
CASE WHEN OBJECT_ID('TestTable') IS NULL THEN 0
ELSE
CASE WHEN EXISTS(SELECT * FROM TestTable) THEN
1
ELSE
0
END
END
RETURN @Result
END
Run Code Online (Sandbox Code Playgroud)

在SQL Server中尝试执行以下语句时:

SELECT dbo.CheckIfRecordsExistInTestTable()
Run Code Online (Sandbox Code Playgroud)

只要TestTable存在,它就会返回我的预期结果.但是,每当它没有,SQL Server引发异常(无效的对象名称' TestTable'),我无法得到我所期望的(我希望在这种情况下返回零值).那么你打算为这个可编码为标量函数的问题做些什么呢?

t-sql sql-server

5
推荐指数
2
解决办法
254
查看次数

标签 统计

bitmap ×1

c# ×1

c++ ×1

clone ×1

exception ×1

image-processing ×1

jpeg ×1

sql-server ×1

t-sql ×1

thumbnails ×1

tiff ×1