public static GEDCOMMultimediaFormat RecognizeFormat(string fileName) { if (string.IsNullOrEmpty(fileName)) { return(GEDCOMMultimediaFormat.mfUnknown); } string ext = FileHelper.GetFileExtension(fileName); if (!string.IsNullOrEmpty(ext) && ext[0] == '.') { ext = ext.Remove(0, 1); } GEDCOMMultimediaFormat result = GEDCOMUtils.GetMultimediaFormatVal(ext); return(result); }
private void SetFileRef(string fileName) { Text = fileName; Control ctl = null; fImageCtl = null; GEDCOMMultimediaFormat fmt = GEDCOMFileReference.RecognizeFormat(fileName); try { switch (fmt) { case GEDCOMMultimediaFormat.mfBMP: case GEDCOMMultimediaFormat.mfGIF: case GEDCOMMultimediaFormat.mfJPG: case GEDCOMMultimediaFormat.mfPCX: case GEDCOMMultimediaFormat.mfTIF: case GEDCOMMultimediaFormat.mfTGA: case GEDCOMMultimediaFormat.mfPNG: { fImageCtl = new ImageView(); try { using (Stream fs = new FileStream(fileName, FileMode.Open)) { fImageCtl.OpenImage(new Bitmap(fs)); } } catch (Exception ex) { Logger.LogWrite("ImageViewerWin.SetFileRef.0(): " + ex.Message); } ctl = fImageCtl; } break; case GEDCOMMultimediaFormat.mfWAV: case GEDCOMMultimediaFormat.mfAVI: case GEDCOMMultimediaFormat.mfMPG: break; case GEDCOMMultimediaFormat.mfTXT: { TextBox txtBox = new TextBox(); txtBox.Multiline = true; txtBox.ReadOnly = true; txtBox.ScrollBars = ScrollBars.Both; try { using (Stream fs = new FileStream(fileName, FileMode.Open)) { using (StreamReader strd = new StreamReader(fs, Encoding.GetEncoding(1251))) { txtBox.Text = strd.ReadToEnd(); } } } catch (Exception ex) { Logger.LogWrite("ImageViewerWin.SetFileRef.1(): " + ex.Message); } ctl = txtBox; } break; case GEDCOMMultimediaFormat.mfRTF: { RichTextBox rtfBox = new RichTextBox(); rtfBox.ReadOnly = true; try { using (Stream fs = new FileStream(fileName, FileMode.Open)) { using (StreamReader strd = new StreamReader(fs)) { rtfBox.Text = strd.ReadToEnd(); } } } catch (Exception ex) { Logger.LogWrite("ImageViewerWin.SetFileRef.2(): " + ex.Message); } ctl = rtfBox; } break; case GEDCOMMultimediaFormat.mfHTM: { var browser = new WebBrowser(); try { using (Stream fs = new FileStream(fileName, FileMode.Open)) { browser.DocumentStream = fs; } } catch (Exception ex) { Logger.LogWrite("ImageViewerWin.SetFileRef.2(): " + ex.Message); } ctl = browser; } break; } if (ctl != null) { SuspendLayout(); ctl.Dock = DockStyle.Fill; ctl.Location = new Point(0, 50); ctl.Size = new Size(100, 100); Controls.Add(ctl); Controls.SetChildIndex(ctl, 0); ResumeLayout(false); PerformLayout(); } } catch (Exception ex) { if (ctl != null) { ctl.Dispose(); } Logger.LogWrite("ImageViewerWin.SetFileRef()" + ex.Message); } }
public static string GetMultimediaFormatStr(GEDCOMMultimediaFormat value) { string s; switch (value) { case GEDCOMMultimediaFormat.mfBMP: s = "bmp"; break; case GEDCOMMultimediaFormat.mfGIF: s = "gif"; break; case GEDCOMMultimediaFormat.mfJPG: s = "jpg"; break; case GEDCOMMultimediaFormat.mfOLE: s = "ole"; break; case GEDCOMMultimediaFormat.mfPCX: s = "pcx"; break; case GEDCOMMultimediaFormat.mfTIF: s = "tif"; break; case GEDCOMMultimediaFormat.mfWAV: s = "wav"; break; case GEDCOMMultimediaFormat.mfTXT: s = "txt"; break; case GEDCOMMultimediaFormat.mfRTF: s = "rtf"; break; case GEDCOMMultimediaFormat.mfAVI: s = "avi"; break; case GEDCOMMultimediaFormat.mfTGA: s = "tga"; break; case GEDCOMMultimediaFormat.mfPNG: s = "png"; break; case GEDCOMMultimediaFormat.mfMPG: s = "mpg"; break; case GEDCOMMultimediaFormat.mfHTM: s = "htm"; break; case GEDCOMMultimediaFormat.mfRAW: s = "raw"; break; case GEDCOMMultimediaFormat.mfMP3: s = "mp3"; break; case GEDCOMMultimediaFormat.mfWMA: s = "wma"; break; case GEDCOMMultimediaFormat.mfPSD: s = "psd"; break; case GEDCOMMultimediaFormat.mfPDF: s = "pdf"; break; case GEDCOMMultimediaFormat.mfMP4: s = "mp4"; break; case GEDCOMMultimediaFormat.mfOGV: s = "ogv"; break; case GEDCOMMultimediaFormat.mfMKA: s = "mka"; break; case GEDCOMMultimediaFormat.mfWMV: s = "wmv"; break; case GEDCOMMultimediaFormat.mfMKV: s = "mkv"; break; case GEDCOMMultimediaFormat.mfMOV: s = "mov"; break; default: s = ""; break; } return(s); }