録画機能とサムネイル機能を持っています。doRecording()
クラスは、dateTime形式の名前でaviファイルを作成します。次に、別のクラスがあります。これgenerateThumbnail()
を実行したいのは、doRecording()
関数のビデオファイル名と同じサムネイル画像名を付けることです。
private void doRecording()
{
string ImagePath = Server.MapPath("~\\Videos\\liveRecording2\\");
string SavingPath = Server.MapPath("~\\Videos\\liveRecording2\\"); //recorded video path
string VideoName = "ICS-" + String.Format("{0:yyyyMMdd_hhmmss}", DateTime.Now) + ".avi";
writer.Open(SavingPath + VideoName, 640, 480); //create an AVI file and open it for images adding
// create frame image
Bitmap image = new Bitmap(320, 240);
string[] files = Directory.GetFiles(ImagePath);
writer.FrameRate = 25;
int index = 0;
int failed = 0;
foreach (var item in files)
{
index++;
try
{
image = Image.FromFile(item) as Bitmap;
//image = cubit.Apply(image);
for (int i = 0; i < 5; i++)
{
writer.AddFrame(image);
}
}
catch
{
failed++;
}
//this.Text = index + " of " + files.Length + ". Failed: " + failed;
}
writer.Close();
writer.Dispose();
this.Label1.Text = "status: Video was successfully created";
DeleteImage();
}
private void generateThumbnail()
{
string fileName = "5.jpg";
string ThumbFolderPath = "~\\Videos\\liveRecording2\\";
string OriginalFolderPath = "~\\Videos\\liveRecording2\\";
//Get The Image From File
System.Drawing.Image OriginalImage = System.Drawing.Image.FromFile(HttpContext.Current.Server.MapPath(OriginalFolderPath + fileName));
//Create ITs Thumbnail
System.Drawing.Image ThumbImage = OriginalImage.GetThumbnailImage(60, 30, null, new System.IntPtr());
//Store It in Thumbnail Folder
ThumbImage.Save(HttpContext.Current.Server.MapPath(ThumbFolderPath + "thumb_" + thumbName + ".jpeg"));
OriginalImage.Dispose();
}
完全なコードはこのスレッドから見ることができます:画像ファイルのロックを解除して特定のフォルダから削除するにはどうすればよいですか?
である別の関数を追加しますgenerateThumbnail
。