public static IEnumerable <XElement> MetaList(string containerName, IList <Metadata> metaList, string granularity) { if (string.IsNullOrEmpty(containerName) || metaList == null || metaList.Count == 0 || string.IsNullOrEmpty(granularity)) { yield break; } foreach (var metaItem in metaList) { switch (FormatList.Int2Format(metaItem.MdFormat)) { case Enums.MetadataFormats.DublinCore: yield return(new XElement(containerName, DublinCore.Encode(metaItem, granularity))); break; case Enums.MetadataFormats.PanSimple: yield return(new XElement(containerName, PanSimple.Encode(metaItem, granularity))); break; case Enums.MetadataFormats.Provenance: yield return(new XElement(containerName, Provenance.Encode(metaItem, granularity))); break; // TODO: Add format here case Enums.MetadataFormats.None: default: break; } } }
public static XElement Metadata(string containerName, Metadata metadata, string granularity) { if (string.IsNullOrEmpty(containerName) || metadata == null || string.IsNullOrEmpty(granularity)) { return(null); } switch (FormatList.Int2Format(metadata.MdFormat)) { case Enums.MetadataFormats.DublinCore: return(new XElement(containerName, DublinCore.Encode(metadata, granularity))); case Enums.MetadataFormats.PanSimple: return(new XElement(containerName, PanSimple.Encode(metadata, granularity))); case Enums.MetadataFormats.Provenance: return(new XElement(containerName, Provenance.Encode(metadata, granularity))); // TODO: Add format here case Enums.MetadataFormats.None: default: return(null); } }
// GET: Format public ActionResult Index() { FormatList formats = new FormatList(); formats.Load(); return(View(formats)); }
public void ValidateFormatList(string[] formats) { // check combo box foreach (var item in formats) { if (!FormatList.Contains(item)) { FormatList.Add(item); } } // remove blank for (int i = 0; i < FormatList.Count; i++) { if (String.IsNullOrWhiteSpace(FormatList[i])) { FormatList.RemoveAt(i); --i; } } // trim the list while (FormatList.Count > Properties.Settings.Default.FormatListCount) { FormatList.RemoveAt(0); } }
private void OnCategorySelectionChanged() { if (string.IsNullOrWhiteSpace(CategorySelection)) { return; } var list = GetFormatList(CategorySelection); if (list == null) { return; } list.Add(Properties.Resources.CustomString); FormatList = list; if (!FormatList.Contains(FormatSelection) || FormatSelection == Properties.Resources.CustomString) { // update format selection FormatSelection = FormatList.FirstOrDefault(); } RaisePropertyChanged(() => FormatList); OutputCoordItem.CType = GetCoordinateType(); OutputCoordItem.Name = OutputCoordItem.CType.ToString(); }
internal static uint GetBlockHeight(Texture texture) { if (FormatList.ContainsKey(texture.Format)) { return(FormatList[texture.Format].BlockHeight); } return(0); }
internal static uint GetBytesPerPixel(Texture texture) { if (FormatList.ContainsKey(texture.Format)) { return(FormatList[texture.Format].BytesPerPixel); } return(0); }
public void LoadTest() { FormatList formats = new FormatList(); formats.Load(); int expected = 3; int actual = formats.Count; Assert.AreEqual(expected, actual); }
public void Write(FileWriter writer) { byte format = FormatList.FirstOrDefault(x => x.Value == Format).Key; writer.Write(format); writer.Write(Padding); writer.Write(Width); writer.Write(Height); writer.Align(32); writer.Write(ImageData); }
public WiiUSwizzle(TexFormat format) { Format = FormatList.FirstOrDefault(x => x.Value == format).Key; OutputFormat = format; AAMode = GX2.GX2AAMode.GX2_AA_MODE_1X; TileMode = GX2.GX2TileMode.MODE_2D_TILED_THIN1; ResourceFlags = GX2.GX2RResourceFlags.GX2R_BIND_TEXTURE; SurfaceDimension = GX2.GX2SurfaceDimension.DIM_2D; SurfaceUse = GX2.GX2SurfaceUse.USE_COLOR_BUFFER; Alignment = 0; Pitch = 0; }
public void Write(FileWriter writer) { TextureFormat format = FormatList.FirstOrDefault(x => x.Value == PicaFormat).Key; writer.Write(ImageData.Length); writer.Write(MaxLevel); writer.Write(Unknown); writer.Write((ushort)Width); writer.Write((ushort)Height); writer.Write(format, true); writer.Write(DataOffset); writer.WriteString(Name, 16); }
public void DeleteTest() { FormatList formats = new FormatList(); formats.Load(); //Find the format with the description testingformat Format format = formats.FirstOrDefault(f => f.Description == "UpdatedFormat"); //Delete it int result = format.Delete(); Assert.IsTrue(result == 1); }
/// <summary> /// Validation if file is valid format /// </summary> /// <param name="arg">drag n drop event</param> /// <returns></returns> private bool CanAddImage(DragEventArgs arg) { var g = arg.Data.GetDataPresent(DataFormats.FileDrop); string[] files = (string[])arg.Data.GetData(DataFormats.FileDrop); for (int i = 0; i < files.Length; i++) { FileInfo info = new FileInfo(files[i]); if (!FormatList.Contains(info.Extension.Trim('.').ToUpper())) { return(false); } } return(true); }
private void SelectFormat(string format) { var defaultFormat = GetFormatSample(format); foreach (var item in FormatList) { if (item == defaultFormat) { FormatSelection = item; return; } } FormatSelection = FormatList.FirstOrDefault(); }
public ActionResult Get() { //Initialize Cient HttpClient client = InitializeClient(); //Call the API HttpResponseMessage response = client.GetAsync("Format").Result; //Deserialize the json string result = response.Content.ReadAsStringAsync().Result; dynamic items = (JArray)JsonConvert.DeserializeObject(result); formats = items.ToObject <FormatList>(); return(View("Index", formats)); }
void RelatedColumnsList_SelectedIndexChanged(object sender, EventArgs e) { ListAggregationList.ClearSelection(); FormatList.ClearSelection(); Field.Aggregation = AggregationList.SelectedValue; AggregationList.ClearSelection(); Field.ListAttributeAggregation.ColumnName = RelatedColumnsList.SelectedValue; Field.ListAttributeAggregation.AggregateLexem = string.Empty; // ListAggregationList.DataBind(); // FormatList.DataBind(); }
private void OnCategorySelectionChanged() { var selectedCoordinateType = Convert.ToString(SelectedCoordinateType); if (string.IsNullOrWhiteSpace(selectedCoordinateType)) { return; } var list = GetFormatList(selectedCoordinateType); if (list == null) { return; } if (selectedCoordinateType != CoordinateType.Default.ToString()) { list.Add(CoordinateConversionLibrary.Properties.Resources.CustomString); } FormatList = list; if (( (!FormatList.Contains(FormatSelection) || FormatSelection == CoordinateConversionLibrary.Properties.Resources.CustomString) && !CoordinateConversionLibraryConfig.AddInConfig.IsCustomFormat) ) { // update format selection FormatSelection = FormatList.FirstOrDefault(); } RaisePropertyChanged(() => FormatList); if (!CoordinateConversionLibraryConfig.AddInConfig.IsCustomFormat) { Format = GetFormatFromDefaults(); } else { Format = CoordinateBase.InputCustomFormat; } RaisePropertyChanged(() => Format); }
public void Read(FileReader reader) { byte format = reader.ReadByte(); Padding = reader.ReadByte(); Width = reader.ReadUInt16(); Height = reader.ReadUInt16(); reader.ReadBytes(26); if (!FormatList.ContainsKey(format)) { throw new Exception($"Unknown textue format! {format}"); } Format = FormatList[format]; var size = Decode_Gamecube.GetDataSize(Format, Width, Height); ImageData = reader.ReadBytes(size); }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { formats = new FormatList(); formats.Load(); Reload(); //pretend someone clicked in the ddlFormats, send it with the sender and the e from this event ddlFormats_SelectedIndexChanged(sender, e); //Load data into the session Session["formats"] = formats; } else { //is a PostBack, kept in session, get the objects formats = (FormatList)Session["formats"]; } }
public ActionConfirmation QueueGenericEmail(string to, string @from, string subject, string body) { var formatList = new FormatList(); formatList.Add("Body", body); formatList.Add("useremail", from); formatList.Add("Subject", subject); var email = GenericEmail("GenericEmail", null, null, true); if (email == null) { return(ActionConfirmation.CreateFailure("Email template not found!")); } email.To = to; email.From = from; email.Body = formatList.Format(email.Body); email.Subject = formatList.Format(email.Subject); return(_queueService.Queue(email)); }
private void OnInputChange(ChangeEventArgs args) { var v = args?.Value.ToString(); Value = v; if (Options != null) // Options 参数不为空时,本地过滤选项 { _options.Clear(); _options = !string.IsNullOrWhiteSpace(v) ? Options.Where(option => FilterOption(v, option)).ToList() : Options.ToList(); // 默认选中第一个 if (_options.Count > 0) { ToggleState = true; } } else if (FormatList != null) // FormatList 参数不为空时,按照指定 Format 格式添加选项 { _options.Clear(); if (!string.IsNullOrWhiteSpace(v)) { FormatList.ForEach(f => _options.Add(string.Format(f, v))); } // 默认选中第一个 if (_options.Count > 0) { ToggleState = true; } } else // 一般模式,从远程获取数据添加选项 { // 此处暂无需处理 } OnChange?.Invoke(v); }
public static void UpdateVisualFormat() { ListObjFormats.Clear(); if (OldFormat) { ActualFormat = _oldFormat; foreach (var itemFormat in _oldFormat.ToList()) { ListObjFormats.Add(new ObjFormat(itemFormat.ToString(), itemFormat.ToString(), 0)); } } else { _newFormat = new object[FormatList.Count]; foreach (var itemFormat in FormatList) { ListObjFormats.Add(new ObjFormat(itemFormat.Name, FormatList.IndexOf(itemFormat) + " - " + itemFormat.Name, itemFormat.BitDepth.Bit - 1)); _newFormat[FormatList.IndexOf(itemFormat)] = FormatList.IndexOf(itemFormat) + " - " + itemFormat.Name; } ActualFormat = _newFormat; } }
/// <summary> /// OCR処理を実施します /// </summary> /// <param name="InPath">入力パス</param> /// <param name="NgPath">NG出力パス</param> /// <param name="rePath">OCR変換結果出力パス</param> /// <param name="FormatName">書式ファイル名</param> /// <param name="fCnt">書式ファイルの件数</param> private void ocrMain(string InPath, string NgPath, string rePath, string FormatName, int fCnt) { IEngine en = null; // OCRエンジンのインスタンスを保持 string ocr_csv = string.Empty; // OCR変換出力CSVファイル int _okCount = 0; // OCR変換画像枚数 int _ngCount = 0; // フォーマットアンマッチ画像枚数 string fnm = string.Empty; // ファイル名 try { // 指定された出力先フォルダがなければ作成する if (System.IO.Directory.Exists(rePath) == false) { System.IO.Directory.CreateDirectory(rePath); } // 指定されたNGの場合の出力先フォルダがなければ作成する if (System.IO.Directory.Exists(NgPath) == false) { System.IO.Directory.CreateDirectory(NgPath); } // OCRエンジンのインスタンスの生成・取得 en = EngineFactory.GetEngine(); if (en == null) { // エンジンが他で取得されている場合は、Release() されるまで取得できない System.Console.WriteLine("SDKは使用中です"); return; } //オーナーフォームを無効にする this.Enabled = false; //プログレスバーを表示する frmPrg frmP = new frmPrg(); frmP.Owner = this; frmP.Show(); IFormatList FormatList; IFormat Format; IField Field; int nPage; int ocrPage = 0; int fileCount = 0; // フォーマットのロード・設定 FormatList = en.FormatList; FormatList.Add(FormatName); // tifファイルの認識 foreach (string files in System.IO.Directory.GetFiles(InPath, "*.tif")) { nPage = 1; while (true) { try { // 対象画像を設定する en.SetBitmap(files, nPage); //プログレスバー表示 fileCount++; frmP.Text = "OCR変換処理実行中 " + fileCount.ToString() + "/" + fCnt.ToString(); frmP.progressValue = fileCount * 100 / fCnt; frmP.ProgressStep(); } catch (IDRException ex) { // ページ読み込みエラー if (ex.No == ErrorCode.IDR_ERROR_FORM_FILEREAD) { // ページの終了 break; } else { // 例外のキャッチ MessageBox.Show("例外が発生しました:Error No ={0:X}", ex.No.ToString()); } } //////Console.WriteLine("-----" + strImageFile + "の" + nPage + "ページ-----"); // 現在ロードされている画像を自動的に傾き補正する en.AutoSkew(); // 傾き角度の取得 double angle = en.GetSkewAngle(); //////System.Console.WriteLine("時計回りに" + angle + "度傾き補正を行いました"); try { // 現在ロードされている画像を自動回転してマッチする番号を取得する Format = en.MatchFormatRotate(); int direct = en.GetRotateAngle(); //画像ロード RasterCodecs.Startup(); RasterCodecs cs = new RasterCodecs(); //RasterImage img; // 描画時に使用される速度、品質、およびスタイルを制御します。 //RasterPaintProperties prop = new RasterPaintProperties(); //prop = RasterPaintProperties.Default; //prop.PaintDisplayMode = RasterPaintDisplayModeFlags.Resample; //leadImg.PaintProperties = prop; RasterImage img = cs.Load(files, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1); RotateCommand rc = new RotateCommand(); rc.Angle = (direct) * 90 * 100; rc.FillColor = new RasterColor(255, 255, 255); rc.Flags = RotateCommandFlags.Resize; rc.Run(img); //rc.Run(leadImg.Image); //cs.Save(leadImg.Image, files, RasterImageFormat.Tif, 0, 1, 1, 1, CodecsSavePageMode.Overwrite); cs.Save(img, files, RasterImageFormat.CcittGroup4, 0, 1, 1, 1, CodecsSavePageMode.Overwrite); // マッチしたフォーマットに登録されているフィールド数を取得 int fieldNum = Format.NumOfFields; int matchNum = Format.FormatNo + 1; //////System.Console.WriteLine(matchNum + "番目のフォーマットがマッチ"); int i = 1; ocr_csv = string.Empty; // ファイルの先頭フィールドにファイル番号をセットします ocr_csv = System.IO.Path.GetFileNameWithoutExtension(files) + ","; // ファイルに画像ファイル名フィールドを付加します ocr_csv += System.IO.Path.GetFileName(files); // 認識されたフィールドを順次読み出します Field = Format.Begin(); while (Field != null) { //カンマ付加 if (ocr_csv != string.Empty) { ocr_csv += ","; } // 指定フィールドを認識し、テキストを取得 string strText = Field.ExtractFieldText(); ocr_csv += strText; // 次のフィールドの取得 Field = Format.Next(); i += 1; } //出力ファイル System.IO.StreamWriter outFile = new System.IO.StreamWriter(InPath + System.IO.Path.GetFileNameWithoutExtension(files) + ".csv", false, System.Text.Encoding.GetEncoding(932)); outFile.WriteLine(ocr_csv); outFile.Close(); //OCR変換枚数カウント _okCount++; } catch (IDRWarning ex) { // Engine.MatchFormatRotate() で // フォーマットにマッチしなかった場合の処理 if (ex.No == ErrorCode.IDR_WARN_FORM_NO_MATCH) { // NGフォルダへ移動する System.IO.File.Move(files, NgPath + "E" + System.IO.Path.GetFileName(files)); //NG枚数カウント _ngCount++; } } ocrPage++; nPage += 1; } } // いったんオーナーをアクティブにする this.Activate(); // 進行状況ダイアログを閉じる frmP.Close(); // オーナーのフォームを有効に戻す this.Enabled = true; string finMessage = string.Empty; StringBuilder sb = new StringBuilder(); // NGメッセージ if (_ngCount > 0) { MessageBox.Show("OCR認識を正常に行うことが出来なかった画像があります。確認してください。", "確認", MessageBoxButtons.OK, MessageBoxIcon.Information); } // 終了メッセージ sb.Clear(); sb.Append("OCR認識処理が終了しました。"); sb.Append("引き続き修正確認&受け渡しデータ作成を行ってください。"); sb.Append(Environment.NewLine); sb.Append(Environment.NewLine); sb.Append("OK件数 : "); sb.Append(_okCount.ToString()); sb.Append(Environment.NewLine); sb.Append("NG件数 : "); sb.Append(_ngCount.ToString()); sb.Append(Environment.NewLine); MessageBox.Show(sb.ToString(), "処理終了", MessageBoxButtons.OK, MessageBoxIcon.Information); // OCR変換画像とCSVデータをOCR結果出力フォルダへ移動する foreach (string files in System.IO.Directory.GetFiles(InPath, "*.*")) { System.IO.File.Move(files, rePath + System.IO.Path.GetFileName(files)); } FormatList.Delete(0); } catch (System.Exception ex) { // 例外のキャッチ string errMessage = string.Empty; errMessage += "System例外が発生しました:" + Environment.NewLine; errMessage += "必要なDLL等が実行モジュールと同ディレクトリに存在するか確認してください。:" + Environment.NewLine; errMessage += ex.Message.ToString(); MessageBox.Show(errMessage, "エラー", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } finally { en.Release(); } }
public static string[] Formats() { return((string[])FormatList.Clone()); }
private void UpdateSample() { var type = GetCoordinateType(); switch (type) { case CoordinateType.DD: var dd = new CoordinateDD(); if (ctdict.ContainsKey(CoordinateType.DD)) { CoordinateDD.TryParse(ctdict[type], out dd); } Sample = dd.ToString(Format, new CoordinateDDFormatter()); break; case CoordinateType.DDM: var ddm = new CoordinateDDM(); if (ctdict.ContainsKey(type)) { CoordinateDDM.TryParse(ctdict[type], out ddm); } Sample = ddm.ToString(Format, new CoordinateDDMFormatter()); break; case CoordinateType.DMS: var dms = new CoordinateDMS(); if (ctdict.ContainsKey(type)) { CoordinateDMS.TryParse(ctdict[type], out dms); } Sample = dms.ToString(Format, new CoordinateDMSFormatter()); break; case CoordinateType.GARS: var gars = new CoordinateGARS(); if (ctdict.ContainsKey(type)) { CoordinateGARS.TryParse(ctdict[type], out gars); } Sample = gars.ToString(Format, new CoordinateGARSFormatter()); break; case CoordinateType.MGRS: var mgrs = new CoordinateMGRS(); if (ctdict.ContainsKey(type)) { CoordinateMGRS.TryParse(ctdict[type], out mgrs); } Sample = mgrs.ToString(Format, new CoordinateMGRSFormatter()); break; case CoordinateType.USNG: var usng = new CoordinateUSNG(); if (ctdict.ContainsKey(type)) { CoordinateUSNG.TryParse(ctdict[type], out usng); } Sample = usng.ToString(Format, new CoordinateMGRSFormatter()); break; case CoordinateType.UTM: var utm = new CoordinateUTM(); if (ctdict.ContainsKey(type)) { CoordinateUTM.TryParse(ctdict[type], out utm); } Sample = utm.ToString(Format, new CoordinateUTMFormatter()); break; default: Sample = FormatList.FirstOrDefault(); break; } RaisePropertyChanged(() => Sample); }
private void Tõmba_Click(object sender, EventArgs e) { kõik = string.Empty; Protsenttekst = string.Empty; protsent = 0; progressBar1.Visible = true; int i = 1; formaat = Convert.ToString(FormatList.SelectedItem); if (!valeLink) { if ((formaat != "wav" && formaat != "mp3" || !string.IsNullOrWhiteSpace(ffmpeg) || File.Exists(Path.Combine(Directory.GetCurrentDirectory(), "ffmpeg.exe"))) && !valeLink) { if (formaat == "mp4") { switch (i) { case 1: //720p index = 22; i++; break; case 2: //360p index = 18; i++; break; } } if (formaat == "m4a") { index = 140; } if (File.Exists("ffprobe.exe") && File.Exists("ffmpeg.exe")) { ffmpeg = "olemas"; YTdl = Path.Combine(Directory.GetCurrentDirectory(), "youtube-dl.exe"); } if (!string.IsNullOrWhiteSpace(link) || !string.IsNullOrWhiteSpace(TXTFail) && !string.IsNullOrWhiteSpace(formaat)) { if (string.IsNullOrWhiteSpace(path)) { path = Directory.GetCurrentDirectory(); } while (true) { var convert = new Process(); convert.StartInfo.FileName = "youtube-dl.exe"; if (!string.IsNullOrWhiteSpace(NimeBox.Text)) { //f**k me } else { if (!link.Contains("playlist")) { var fileName = new Process { StartInfo = new ProcessStartInfo { FileName = "youtube-dl.exe", Arguments = "--get-filename " + link, UseShellExecute = false, RedirectStandardOutput = true, CreateNoWindow = true } }; fileName.Start(); failiNimi = fileName.StandardOutput.ReadToEnd(); fileName.WaitForExit(); failiNimi = failiNimi.Replace("\n", ""); convert.StartInfo.Arguments = "-f " + index + " -o " + "\u0022" + path + @"\" + failiNimi + "\u0022" + " " + link; } } if (!KonsooliNäha.Checked) { convert.StartInfo.UseShellExecute = false; convert.StartInfo.CreateNoWindow = true; } if (valeLink) { break; } if (!string.IsNullOrWhiteSpace(YTdl)) { convert.StartInfo.FileName = YTdl; } if (!link.Contains("playlist") && NimeBox.Text == "" && path != Directory.GetCurrentDirectory()) { if (!string.IsNullOrWhiteSpace(ffmpeg) && !string.IsNullOrWhiteSpace(YTdl)) { if (formaat == "wav" || formaat == "mp3" || formaat == "m4a") { if (!string.IsNullOrWhiteSpace(NimeBox.Text)) { convert.StartInfo.Arguments = "--extract-audio --audio-format " + formaat + " --output " + "\u0022" + path + @"\" + failiNimi.Replace("\n", "") + ".mp4" + "\u0022" + " " + link; } else { convert.StartInfo.Arguments = "--extract-audio --audio-format " + formaat + " -o " + "\u0022" + path + @"\" + failiNimi + "\u0022" + " " + link; failiNimi = failiNimi.Replace(".mp4", "." + formaat); } } } if (!string.IsNullOrWhiteSpace(TXTFail)) { if (formaat == "wav" || formaat == "mp3" || formaat == "m4a") { convert.StartInfo.Arguments = "--extract-audio --audio-format " + formaat + " -a " + TXTFail; } else { convert.StartInfo.Arguments = "-f " + index + " -a " + TXTFail; } } } else { if (NimeBox.Text == "") { convert.StartInfo.Arguments = "--extract-audio --audio-format " + formaat + " " + link; } else if (formaat == "mp4") { convert.StartInfo.Arguments = "-f " + index + " -o " + "\u0022" + path + @"\" + failiNimi + ".mp4" + "\u0022" + " " + link; } else { convert.StartInfo.Arguments = "--extract-audio --audio-format " + formaat + " --output " + "\u0022" + path + @"\" + failiNimi.Replace("\n", "") + ".mp4" + "\u0022" + " " + link; } } failiNimi = failiNimi.Replace(".webm", "." + formaat); failiNimi = failiNimi.Replace(".mp4", "." + formaat); if (!File.Exists(path + @"\" + failiNimi)) { while (true) { if (!KonsooliNäha.Checked) { convert.StartInfo.RedirectStandardOutput = true; convert.Start(); if (!link.Contains("playlist")) { for (int a = 0; a < 6; a++) { kõik = convert.StandardOutput.ReadLine(); } } else { for (int a = 0; a < 15; a++) { kõik = convert.StandardOutput.ReadLine(); if (a == 2) { kõik = Regex.Match(kõik, @"\d+").Value; playlistVideoNumber = Int32.Parse(kõik); } } } if (!link.Contains("playlist")) { playlistVideoNumber = 1; } for (int a = 0; a < playlistVideoNumber; a++) { while (protsent != 100) { kõik = convert.StandardOutput.ReadLine(); Kook = kõik; if (kõik != null) { Protsenttekst = kõik.Substring(11, 6); //Protsenttekst = Regex.Replace(Protsenttekst, "[^0-9.]", ""); Protsenttekst = Regex.Match(Protsenttekst, @"\d+").Value; try { protsent = Int32.Parse(Protsenttekst); } catch (Exception) { MessageBox.Show("See fail juba eksisteerib"); throw; } progressBar1.Value = protsent; using (Graphics gr = progressBar1.CreateGraphics()) { gr.DrawString(Kook.ToString(), SystemFonts.DefaultFont, Brushes.Black, new PointF(progressBar1.Width / 2 - (gr.MeasureString(Kook.ToString(), SystemFonts.DefaultFont).Width / 2.0F), progressBar1.Height / 2 - (gr.MeasureString(Kook.ToString(), SystemFonts.DefaultFont).Height / 2.0F))); } } else { if (formaat == "mp4") { switch (i) { case 1: //720p index = 22; i++; break; case 2: //360p index = 18; i++; break; } convert.StartInfo.Arguments = convert.StartInfo.Arguments = "-f " + index + " -o " + "\u0022" + path + @"\" + failiNimi + ".mp4" + "\u0022" + " " + link; } else { MessageBox.Show("Link ei tööta"); valeLink = true; lõpetada = true; break; } break; } if (protsent == 100 && link.Contains("playlist")) { for (int b = 0; b < 10; b++) { kõik = convert.StandardOutput.ReadLine(); } } } protsent = 0; } convert.WaitForExit(); if (File.Exists(path + @"\" + failiNimi) || File.Exists(path + @"\" + failiNimi + "." + formaat) || lõpetada) { break; } } else { while (true) { convert.Start(); convert.WaitForExit(); if (File.Exists(path + @"\" + failiNimi) || File.Exists(path + @"\" + failiNimi + "." + formaat)) { break; } else { switch (i) { case 1: //720p index = 22; i++; break; case 2: //360p index = 18; i++; break; } convert.StartInfo.Arguments = convert.StartInfo.Arguments = "-f " + index + " -o " + "\u0022" + path + @"\" + failiNimi + ".mp4" + "\u0022" + " " + link; } } break; } } if (string.IsNullOrWhiteSpace(TXTFail) && !link.Contains("playlist")) { if (!string.IsNullOrWhiteSpace(NimeBox.Text)) { if (File.Exists(path + @"\" + failiNimi + "." + formaat)) { MessageBox.Show("Teie video on alla laetud"); LinkBox.Text = ""; FormatList.ResetText(); NimeBox.Text = ""; progressBar1.Value = 0; break; } } else { if (File.Exists(path + @"\" + failiNimi) || File.Exists(path + @"\" + failiNimi + "." + formaat)) { MessageBox.Show("Teie video on alla laetud"); LinkBox.Text = ""; FormatList.ResetText(); NimeBox.Text = ""; progressBar1.Value = 0; break; } } } else { MessageBox.Show("Teie videod on alla laetud"); LinkBox.Text = ""; FormatList.ResetText(); NimeBox.Text = ""; progressBar1.Value = 0; break; } } else { MessageBox.Show("See video/audio on teil juba seal olemas"); progressBar1.Value = 0; break; } break; } } else { MessageBox.Show("Palun täida kõik väljad ja tee kindlaks, et link on õige"); } } else { if (!valeLink) { MessageBox.Show("Palun lisage ffmpeg ja ffprobe directory või pange see samasse folderisse, kus on see programm"); } else { MessageBox.Show("Sisestatud link ei tööta, palun asendage see millegi muuga"); } } } else { MessageBox.Show("Sisestatud link ei tööta, palun asendage see millegi muuga"); } }
public static string ToUrlFormat(this System.Collections.Specialized.NameValueCollection Collection, IDictionary <string, string> FormatList, UrlEncodeType encodeType, Encoding encoding, bool KeepEmpty, out Dictionary <string, string> OverDict) { if (FormatList == null) { FormatList = new Dictionary <string, string>(); } //首先获取全部Key IEnumerable <string> FormatKey = FormatList.Keys.Tolower(); OverDict = new Dictionary <string, string>(); //把输入字典传进过滤字典里面,重复的不叠加 foreach (var ckey in Collection.AllKeys.Reverse()) { if (ckey == null) { continue; } if (!FormatKey.Contains(ckey.ToLower())) { FormatList.Add(ckey, Collection[ckey]); } else { OverDict.Add(ckey, Collection[ckey]); } } //倒转序列 var temp = FormatList.Reverse(); StringBuilder sb = new StringBuilder(); sb.Append("?"); if (temp.Count() == 0) { return(""); } foreach (var item in temp) { if (item.Value == null) { if (!KeepEmpty) { sb.AppendFormat("{0}=&", item.Key); } continue; } if (item.Value.IndexOf("{0}") >= 0) { sb.AppendFormat("{0}={1}&", item.Key, item.Value.ToString()); continue; } switch (encodeType) { case UrlEncodeType.HtmlEncode: sb.AppendFormat("{0}={1}&", item.Key, System.Web.HttpUtility.HtmlEncode(item.Value.ToString())); break; case UrlEncodeType.UrlEncode: if (encoding != null) { sb.AppendFormat("{0}={1}&", item.Key, System.Web.HttpUtility.UrlEncode(item.Value.ToString(), encoding)); } else { sb.AppendFormat("{0}={1}&", item.Key, System.Web.HttpUtility.UrlEncode(item.Value.ToString())); } break; case UrlEncodeType.NoEncode: sb.AppendFormat("{0}={1}&", item.Key, item.Value.ToString()); break; } } return(sb.ToString()); }
// GET: api/Format public IEnumerable <Format> Get() { formatList = new FormatList(); formatList.Load(); return(formatList); }
/// <summary> /// get metadata informations the latest version of a dataset /// </summary> /// <param name="id"></param> /// <returns></returns> public Metadata GetMetadata(long id, string metadataPrefix) { DatasetManager datasetManager = new DatasetManager(); try { DatasetVersion datasetVersion = datasetManager.GetDatasetLatestVersion(id); Metadata metadata = new Metadata(); long mdId = datasetVersion.Dataset.MetadataStructure.Id; XDocument xMetadata = XmlUtility.ToXDocument(datasetVersion.Metadata); metadata.Title = string.Join("][", MappingUtils.GetValuesFromMetadata(Convert.ToInt64(Key.Title), LinkElementType.Key, mdId, xMetadata)); metadata.Description = string.Join("][", MappingUtils.GetValuesFromMetadata(Convert.ToInt64(Key.Description), LinkElementType.Key, mdId, xMetadata)); metadata.Creator = string.Join("][", MappingUtils.GetValuesFromMetadata(Convert.ToInt64(Key.Author), LinkElementType.Key, mdId, xMetadata)); // string to date string date = MappingUtils.GetValuesFromMetadata(Convert.ToInt64(Key.DataLastModified), LinkElementType.Key, mdId, xMetadata).FirstOrDefault(); DateTime dt; if (DateTime.TryParse(date, out dt)) { metadata.Date = dt; } else // if date is not set in the metadata, lassd motified date of the version is loaded { metadata.Date = datasetVersion.Timestamp; } metadata.Subject = string.Join("][", MappingUtils.GetValuesFromMetadata(Convert.ToInt64(Key.Subject), LinkElementType.Key, mdId, xMetadata)); // if the publisher is not set in the metadata, its loaded from the tenant. var publishers = string.Join("][", MappingUtils.GetValuesFromMetadata(Convert.ToInt64(Key.Publisher), LinkElementType.Key, mdId, xMetadata)); if (!publishers.Any()) { metadata.Publisher = AppConfiguration.ApplicationName; } metadata.Contributor = string.Join("][", MappingUtils.GetValuesFromMetadata(Convert.ToInt64(Key.Contributor), LinkElementType.Key, mdId, xMetadata)); //if type is not in the metadata default it is "dataset" var types = string.Join("][", MappingUtils.GetValuesFromMetadata(Convert.ToInt64(Key.Type), LinkElementType.Key, mdId, xMetadata)); if (!types.Any()) { types = getEntityName(id); } metadata.Type = types; //if language is not in the metadata default it is "english" var formats = string.Join("][", MappingUtils.GetValuesFromMetadata(Convert.ToInt64(Key.Format), LinkElementType.Key, mdId, xMetadata)); if (!formats.Any()) { formats = string.Join("][", getFormats(id)); } metadata.Format = formats; metadata.Identifier = string.Join("][", MappingUtils.GetValuesFromMetadata(Convert.ToInt64(Key.Identifier), LinkElementType.Key, mdId, xMetadata)); metadata.Source = string.Join("][", MappingUtils.GetValuesFromMetadata(Convert.ToInt64(Key.Source), LinkElementType.Key, mdId, xMetadata)); //if language is not in the metadata default it is "english" var language = string.Join("][", MappingUtils.GetValuesFromMetadata(Convert.ToInt64(Key.Language), LinkElementType.Key, mdId, xMetadata)); if (language.Any()) { metadata.Language = "English"; } metadata.Relation = string.Join("][", MappingUtils.GetValuesFromMetadata(Convert.ToInt64(Key.Relation), LinkElementType.Key, mdId, xMetadata)); metadata.Coverage = string.Join("][", MappingUtils.GetValuesFromMetadata(Convert.ToInt64(Key.Coverage), LinkElementType.Key, mdId, xMetadata)); metadata.Rights = string.Join("][", MappingUtils.GetValuesFromMetadata(Convert.ToInt64(Key.Rights), LinkElementType.Key, mdId, xMetadata)); //relinks metadata.ParentIdentifier = string.Join("][", MappingUtils.GetValuesFromMetadata(Convert.ToInt64(Key.Relation), LinkElementType.Key, mdId, xMetadata)); metadata.AdditionalContent = string.Join("][", MappingUtils.GetValuesFromMetadata(Convert.ToInt64(Key.Description), LinkElementType.Key, mdId, xMetadata)); metadata.PrincipalInvestigator = string.Join("][", MappingUtils.GetValuesFromMetadata(Convert.ToInt64(Key.Contributor), LinkElementType.Key, mdId, xMetadata)); //set metadata prefix var formatNum = FormatList.Prefix2Int(metadataPrefix); metadata.MdFormat = formatNum; // linkTypes metadata.DataCenter = AppConfiguration.ApplicationName; //ToDo add version to the path string server = HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Authority); string url = server + "/ddm/data/showdata/" + id; metadata.AddtionalData.Add(Metadata.METADATA_URL.ToString(), url); metadata.AddtionalData.Add(Metadata.DATA_URL.ToString(), url); metadata.CoverageComplex = new Coverage(); metadata.CoverageComplex.NorthBoundLatitude = Convert.ToInt32(MappingUtils.GetValuesFromMetadata(Convert.ToInt64(Key.NorthBoundLatitude), LinkElementType.Key, mdId, xMetadata).FirstOrDefault()); metadata.CoverageComplex.WestBoundLongitude = Convert.ToInt32(MappingUtils.GetValuesFromMetadata(Convert.ToInt64(Key.WestBoundLongitude), LinkElementType.Key, mdId, xMetadata).FirstOrDefault()); metadata.CoverageComplex.SouthBoundLatitude = Convert.ToInt32(MappingUtils.GetValuesFromMetadata(Convert.ToInt64(Key.SouthBoundLatitude), LinkElementType.Key, mdId, xMetadata).FirstOrDefault()); metadata.CoverageComplex.EastBoundLongitude = Convert.ToInt32(MappingUtils.GetValuesFromMetadata(Convert.ToInt64(Key.EastBoundLongitude), LinkElementType.Key, mdId, xMetadata).FirstOrDefault()); metadata.CoverageComplex.Location = string.Join("][", MappingUtils.GetValuesFromMetadata(Convert.ToInt64(Key.Coverage), LinkElementType.Key, mdId, xMetadata)); metadata.CoverageComplex.MinElevation = MappingUtils.GetValuesFromMetadata(Convert.ToInt64(Key.MinEvelation), LinkElementType.Key, mdId, xMetadata).FirstOrDefault(); metadata.CoverageComplex.MaxElevation = MappingUtils.GetValuesFromMetadata(Convert.ToInt64(Key.MaxEvelation), LinkElementType.Key, mdId, xMetadata).FirstOrDefault(); metadata.Keyword = string.Join("][", MappingUtils.GetValuesFromMetadata(Convert.ToInt64(Key.Keyword), LinkElementType.Key, mdId, xMetadata)); var parameters = string.Join("][", MappingUtils.GetValuesFromMetadata(Convert.ToInt64(Key.Parameter), LinkElementType.Key, mdId, xMetadata)); if (string.IsNullOrEmpty(parameters)) { parameters = string.Join("][", getVariableNames(id)); } metadata.Parameter = parameters; metadata.Method = string.Join("][", MappingUtils.GetValuesFromMetadata(Convert.ToInt64(Key.Method), LinkElementType.Key, mdId, xMetadata)); metadata.Sensor = string.Join("][", MappingUtils.GetValuesFromMetadata(Convert.ToInt64(Key.Sensor), LinkElementType.Key, mdId, xMetadata)); metadata.Feature = string.Join("][", MappingUtils.GetValuesFromMetadata(Convert.ToInt64(Key.Feature), LinkElementType.Key, mdId, xMetadata)); metadata.Taxonomy = string.Join("][", MappingUtils.GetValuesFromMetadata(Convert.ToInt64(Key.Taxonomy), LinkElementType.Key, mdId, xMetadata)); metadata.Platform = string.Join("][", MappingUtils.GetValuesFromMetadata(Convert.ToInt64(Key.Platform), LinkElementType.Key, mdId, xMetadata)); metadata.Project = string.Join("][", MappingUtils.GetValuesFromMetadata(Convert.ToInt64(Key.ProjectTitle), LinkElementType.Key, mdId, xMetadata)); metadata.Habitat = string.Join("][", MappingUtils.GetValuesFromMetadata(Convert.ToInt64(Key.Habitat), LinkElementType.Key, mdId, xMetadata)); metadata.Stratigraphy = string.Join("][", MappingUtils.GetValuesFromMetadata(Convert.ToInt64(Key.Stratigraphy), LinkElementType.Key, mdId, xMetadata)); return(metadata); } finally { datasetManager.Dispose(); } }
/// <summary> /// OCR処理を実施します /// </summary> /// <param name="InPath">入力パス</param> /// <param name="NgPath">NG出力パス</param> /// <param name="rePath">OCR変換結果出力パス</param> /// <param name="FormatName">書式ファイル名</param> /// <param name="fCnt">書式ファイルの件数</param> private void ocrMain(string InPath, string NgPath, string rePath, string FormatName, int fCnt) { IEngine en = null; // OCRエンジンのインスタンスを保持 string ocr_csv = string.Empty; // OCR変換出力CSVファイル int _ngCount = 0; // フォーマットアンマッチ画像枚数 string fnm = string.Empty; // ファイル名 string path2Fdir = Properties.Settings.Default.instDir + global.DIR_2F; // 2F伝票フォルダ try { // 指定された出力先フォルダがなければ作成する if (System.IO.Directory.Exists(rePath) == false) { System.IO.Directory.CreateDirectory(rePath); } // 指定されたNGの場合の出力先フォルダがなければ作成する if (System.IO.Directory.Exists(NgPath) == false) { System.IO.Directory.CreateDirectory(NgPath); } // 2F伝票フォルダがなければ作成する if (System.IO.Directory.Exists(path2Fdir) == false) { System.IO.Directory.CreateDirectory(path2Fdir); } // OCRエンジンのインスタンスの生成・取得 en = EngineFactory.GetEngine(); if (en == null) { // エンジンが他で取得されている場合は、Release() されるまで取得できない System.Console.WriteLine("SDKは使用中です"); return; } //オーナーフォームを無効にする this.Enabled = false; //プログレスバーを表示する frmPrg frmP = new frmPrg(); frmP.Owner = this; frmP.Show(); IFormatList FormatList; IFormat Format; IField Field; int nPage; int ocrPage = 0; int fileCount = 0; // フォーマットのロード・設定 FormatList = en.FormatList; FormatList.Add(FormatName); // tifファイルの認識 foreach (string files in System.IO.Directory.GetFiles(InPath, "*.tif")) { nPage = 1; while (true) { try { // 対象画像を設定する en.SetBitmap(files, nPage); //プログレスバー表示 fileCount++; frmP.Text = "OCR変換処理実行中 " + fileCount.ToString() + "/" + fCnt.ToString(); frmP.progressValue = fileCount * 100 / fCnt; frmP.ProgressStep(); } catch (IDRException ex) { // ページ読み込みエラー if (ex.No == ErrorCode.IDR_ERROR_FORM_FILEREAD) { // ページの終了 break; } else { // 例外のキャッチ MessageBox.Show("例外が発生しました:Error No ={0:X}", ex.No.ToString()); } } //////Console.WriteLine("-----" + strImageFile + "の" + nPage + "ページ-----"); // 現在ロードされている画像を自動的に傾き補正する en.AutoSkew(); // 傾き角度の取得 double angle = en.GetSkewAngle(); //////System.Console.WriteLine("時計回りに" + angle + "度傾き補正を行いました"); try { // 現在ロードされている画像を自動回転してマッチする番号を取得する Format = en.MatchFormatRotate(); int direct = en.GetRotateAngle(); //画像ロード RasterCodecs.Startup(); RasterCodecs cs = new RasterCodecs(); //RasterImage img; // 描画時に使用される速度、品質、およびスタイルを制御します。 //RasterPaintProperties prop = new RasterPaintProperties(); //prop = RasterPaintProperties.Default; //prop.PaintDisplayMode = RasterPaintDisplayModeFlags.Resample; //leadImg.PaintProperties = prop; RasterImage img = cs.Load(files, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1); RotateCommand rc = new RotateCommand(); rc.Angle = (direct) * 90 * 100; rc.FillColor = new RasterColor(255, 255, 255); rc.Flags = RotateCommandFlags.Resize; rc.Run(img); //rc.Run(leadImg.Image); //cs.Save(leadImg.Image, files, RasterImageFormat.Tif, 0, 1, 1, 1, CodecsSavePageMode.Overwrite); cs.Save(img, files, RasterImageFormat.CcittGroup4, 0, 1, 1, 1, CodecsSavePageMode.Overwrite); // マッチしたフォーマットに登録されているフィールド数を取得 int fieldNum = Format.NumOfFields; int matchNum = Format.FormatNo + 1; //////System.Console.WriteLine(matchNum + "番目のフォーマットがマッチ"); int i = 1; int fIndex = 0; ocr_csv = "*,"; // ファイルに画像ファイル名フィールドを付加します ocr_csv += System.IO.Path.GetFileName(files); // 認識されたフィールドを順次読み出します Field = Format.Begin(); // 3F伝票処理時に2F伝票を判定する 2013/07/01 if (FormatName == Properties.Settings.Default.instDir + Properties.Settings.Default.fmtHPath) { string fldText = string.Empty; while (Field != null) { // 指定フィールドを認識し、テキストを取得(対象は最終フィールド) fldText = Field.ExtractFieldText(); // 次のフィールドの取得 Field = Format.Next(); } // 再度認識されたフィールドを順次読み出します 2013/07/01 Field = Format.Begin(); // 2F書式伝票のとき(指定フィールドが空白である) if (fldText.Trim().Length == 0) { // 2F伝票フォルダへ移動する System.IO.File.Move(files, path2Fdir + System.IO.Path.GetFileName(files)); // ページをカウントして次の画像のOCR処理へ ocrPage++; nPage += 1; continue; } } // 伝票フィールド編集 while (Field != null) { //カンマ付加 if (ocr_csv != string.Empty) { ocr_csv += ","; } // 指定フィールドを認識し、テキストを取得 string strText = Field.ExtractFieldText(); // 年月日のとき各々独立フィールドに分解します if (fIndex == 1) { string strYYMMDD = strText.PadRight(6, '0'); string ymd = strYYMMDD.Substring(0, 2) + "," + strYYMMDD.Substring(2, 2) + "," + strYYMMDD.Substring(4, 2); ocr_csv += ymd; } else if (fIndex != 165) { ocr_csv += strText; // 他のフィールドで最終フィールド以外(2013/07/01) } // 摘要複写欄 if (fIndex == 10 || fIndex == 19 || fIndex == 28 || fIndex == 37 || fIndex == 46 || fIndex == 55 || fIndex == 64 || fIndex == 73 || fIndex == 82 || fIndex == 91 || fIndex == 100 || fIndex == 109 || fIndex == 118 || fIndex == 127 || fIndex == 136 || fIndex == 145 || fIndex == 154 || fIndex == 163) { ocr_csv += ",0"; } // 改行 if (fIndex == 2 || fIndex == 11 || fIndex == 20 || fIndex == 29 || fIndex == 38 || fIndex == 47 || fIndex == 56 || fIndex == 65 || fIndex == 74 || fIndex == 83 || fIndex == 92 || fIndex == 101 || fIndex == 110 || fIndex == 119 || fIndex == 128 || fIndex == 137 || fIndex == 146 || fIndex == 155) { // ヘッダ業改行のとき明細行数を付加 if (fIndex == 2) { ocr_csv += ","; ocr_csv += global.MAXGYOU_PRN.ToString(); } ocr_csv += Environment.NewLine; // 取消欄 ocr_csv += "0"; } // 次のフィールドの取得 Field = Format.Next(); i += 1; // フィールドインデックスインクリメント fIndex++; } //出力ファイル System.IO.StreamWriter outFile = new System.IO.StreamWriter(InPath + System.IO.Path.GetFileNameWithoutExtension(files) + ".csv", false, System.Text.Encoding.GetEncoding(932)); outFile.WriteLine(ocr_csv); outFile.Close(); //OCR変換枚数カウント _okCount++; } catch (IDRWarning ex) { // Engine.MatchFormatRotate() で // フォーマットにマッチしなかった場合、空ファイルを出力します if (ex.No == ErrorCode.IDR_WARN_FORM_NO_MATCH) { //////// アンマッチフォルダへ移動する //////System.IO.File.Move(files, NgPath + System.IO.Path.GetFileName(files)); // 区切り文字 ocr_csv = "*,"; // ファイルに画像ファイル名フィールドを付加します ocr_csv += System.IO.Path.GetFileName(files); // ヘッダ部 (決算仕訳区分、年、月、日、伝票№(NG)) ocr_csv += ",0,,,,NG," + global.MAXGYOU_PRN.ToString() + Environment.NewLine; //// 明細部 string meisai = "0,,,,,,,,,0," + Environment.NewLine; for (int i = 0; i < 18; i++) { ocr_csv += meisai; } //出力ファイル System.IO.StreamWriter outFile = new System.IO.StreamWriter(InPath + System.IO.Path.GetFileNameWithoutExtension(files) + ".csv", false, System.Text.Encoding.GetEncoding(932)); outFile.WriteLine(ocr_csv); outFile.Close(); _ngCount++; //NG枚数カウント } } ocrPage++; nPage += 1; } } // いったんオーナーをアクティブにする this.Activate(); // 進行状況ダイアログを閉じる frmP.Close(); // オーナーのフォームを有効に戻す this.Enabled = true; // OCR変換画像とCSVデータをOCR結果出力フォルダへ移動する foreach (string files in System.IO.Directory.GetFiles(InPath, "*.*")) { System.IO.File.Move(files, rePath + System.IO.Path.GetFileName(files)); } // 終了メッセージ (2F伝票画像がなければ処理終了とみなす) var f2Tif = System.IO.Directory.GetFileSystemEntries(Properties.Settings.Default.instDir + global.DIR_2F, "*.tif"); if (f2Tif.Length == 0) { string finMessage = string.Empty; StringBuilder sb = new StringBuilder(); sb.Append("OCR認識処理が終了しました。"); sb.Append("引き続き修正確認&受け渡しデータ作成を行ってください。"); sb.Append(Environment.NewLine); sb.Append(Environment.NewLine); sb.Append("OK件数 : "); sb.Append(_okCount.ToString()); sb.Append(Environment.NewLine); sb.Append("NG件数 : "); sb.Append(_ngCount.ToString()); sb.Append(Environment.NewLine); MessageBox.Show(sb.ToString(), "処理終了", MessageBoxButtons.OK, MessageBoxIcon.Information); } FormatList.Delete(0); } catch (System.Exception ex) { // 例外のキャッチ string errMessage = string.Empty; errMessage += "System例外が発生しました:" + Environment.NewLine; errMessage += "必要なDLL等が実行モジュールと同ディレクトリに存在するか確認してください。:" + Environment.NewLine; errMessage += ex.Message.ToString(); MessageBox.Show(errMessage, "エラー", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } finally { en.Release(); } }