2016-01-05 3 views
1

У меня есть приложение ASP.NET Web Forms, когда, загрузить файл необработанного изображения с форматомC# создавать эскизы из необработанных изображений

{ "cr2", "raw", "dng", "nef", "raf", "orf", "srf", "sr2", "arw", "k25", "kdc", "dcr","mos", 
     "pnx", "crw", "mrw", "pef" , "mef" , "rw2","a7","a7r"} 

Как я могу создавать эскизы из необработанного изображения?

ответ

1

Приложение dcraw.exe можно использовать в своем .net приложении. Вы можете скачать его в the link.

Сначала сохраните необработанное изображение в локальном диске и использовать код:

string dcrawPath = "dcraw.exe"; 
ProcessStartInfo startInfo = new ProcessStartInfo(); 
string inputImagePath= "input Raw Image Path/"; 
string outputImagePath = "output Raw Image Path/"; 
startInfo.RedirectStandardError = true; 
startInfo.RedirectStandardOutput = true; 
startInfo.CreateNoWindow = true; 
startInfo.UseShellExecute = false; 
startInfo.FileName = dcrawPath; 
string commandArg1 = string.Format("\"{0}\"", outputImagePath); 
string commandArg2 = string.Format("\"{0}\"", inputImagePath); 
startInfo.Arguments = "-u "; 
startInfo.Arguments += commandArg1; 
startInfo.Arguments += " -e "; 
startInfo.Arguments += commandArg2; 
startInfo.Arguments += " -T"; 
using (Process exeProcess = Process.Start(startInfo)) 
    { 
    exeProcess.WaitForExit(); 
    string stdout = exeProcess.StandardOutput.ReadToEnd(); 
    string stderr = exeProcess.StandardError.ReadToEnd(); 
    Console.WriteLine("Exit code : {0}", exeProcess.ExitCode); 
    } 

Поместить сырое изображение в inputImagePath переменной

Вы можете найти изображение в outputImagePath переменной

+0

Абд спасибо за ответ –

+0

приветствовать @FreeDeveloper – Abd

0

Попробуйте GDPicture.NET компонент. Он поддерживает различные форматы RAW и удобен в использовании, но не является бесплатным. Для создания миниатюр использования CreateThumbnail или CreateThumbnailHQ метод GdPictureImaging класса:

using (var imaging = new GdPictureImaging()) 
    { 
    int pictureId = imaging.CreateGdPictureImageFromFile(filepath); 
    if (pictureId == 0) 
    { 
     MessageBox.Show("Error: " + imaging.GetStat().ToString()); 
     return; 
    } 
    int thumbnailImgId = imaging.CreateThumbnail(pictureId, 20, 20); 
    imaging.SaveAsPNG(thumbnailImgId, "thumbnail.png"); 
    imaging.ReleaseGdPictureImage(thumbnailImgId); 
    imaging.ReleaseGdPictureImage(pictureId); 
    } 
+0

, как это работает на C# –

+0

У вас есть пример кода для этого или как использовать –

+0

@FreeDeveloper: I» я добавил небольшой пример кода к моему ответу. Для получения дополнительной информации вы можете посмотреть их сайт здесь [CreateThumbnail] (http://guides.gdpicture.com/content/GdPicture.NET.11%20 (COM% 20-% 20ActiveX) ~ GdPicture11.GdPictureImaging ~ CreateThumbnail.html) или здесь [CreateThumbnailHQ] (http://guides.gdpicture.com/content/GdPicture.NET.11~GdPicture11.GdPictureImaging~CreateThumbnailHQ (Int32, Int32, Int32, Int32) .html) – Nikita

Смежные вопросы