gpt4 book ai didi

c# - WIA 在 .NET C# 中保存图像

转载 作者:太空宇宙 更新时间:2023-11-03 13:50:09 26 4
gpt4 key购买 nike

我正在使用 WIA 以编程方式拍摄照片,然后该图像将被复制到我桌面上的特定文件夹中。除了节省部分外,一切都很顺利。

void deviceManager_OnEvent(string EventID, string DeviceID, string ItemID)
{

for (int i = 1; i <= d.Items.Count; i++)
{
wiaImageFile = (WIA.ImageFile)d.Items[i].Transfer(FormatID.wiaFormatJPEG);
wiaImageFile.SaveFile(Properties.Settings.Default.FolderNameRaw + "\\1.jpg");
if (wiaImageFile != null)
Marshal.ReleaseComObject(wiaImageFile);
}
}

在此代码中,我的 d.Items.Count 不断增加(例如 29,这与实际计数完全不同),即使我的相机 SD 卡中只有 2 张照片。有没有办法将文件正确传输甚至剪切到我的计算机?这是我收到的异常(exception)。 enter image description here

最佳答案

答案只是选择索引中的最后一个条目。对于我的情况,我只需要抓取最新的照片就可以了。

if (EventID == WIA.EventID.wiaEventDeviceConnected)
{
Console.WriteLine("Connected: D5100");
}
if (EventID == WIA.EventID.wiaEventItemCreated)
{
if (d != null)
{
foreach (Property p in d.Properties)
{
if (p.Name.Equals("Pictures Taken"))
Console.WriteLine("Taken");
}

wiaImageFile = (WIA.ImageFile)(d.Items[d.Items.Count].Transfer(FormatID.wiaFormatJPEG));
wiaImageFile.SaveFile(Properties.Settings.Default.FolderNameRaw + "\\" + imageCount + ".jpg");
imageCount++;
}
}

这很好用。除了如果文件出于某种原因已经存在,您需要 try catch 并解决问题。

关于c# - WIA 在 .NET C# 中保存图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13914707/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com