/// <summary> /// 保存ファイル形式を設定します。 /// </summary> /// <param name="settings">プラグイン設定を表すImageSplitSettings。</param> private void setSavedFileType(ImageSplitSettings settings) { if (settings.SaveJpeg) { this.rdoJepg.Checked = true; } else { this.rdoBmp.Checked = true; } this.setRdoJepgChecked(); this.trcJpegQuality.Value = (int)settings.JpegSavedQuality; this.numQuality.Value = settings.JpegSavedQuality; this.gbxSaveFileType.Enabled = this.Plugin.SelectedFilesFinisherEnabled; // 同名ファイルが存在した場合 if (settings.IsSkipSameFileName) { this.rdoSkip.Checked = true; } else { this.rdoOverWrite.Checked = true; } }
/// <summary> /// 画面の設定値を取得します。 /// </summary> /// <returns>画面の設定値を表すImageSplitSettings。</returns> private ImageSplitSettings getSplitSettings() { var settings = new ImageSplitSettings { //保存先フォルダ SavedFolderPath = this.txtSaveTo.Text, // 選択した保存先フォルダを記憶する SavedSelectedFolderPath = this.chkDefaultSaveFolder.Checked, // 処理元フォルダ名 SourceFolderName = this.Plugin.SourceFolderName, // 保存先に同名のフォルダを作る IsCreateFolderAtSameSourceFolder = this.chkCreateFolder.Checked, // 非選択ファイルも同時に処理する IsTargetForUnselectedFiles = this.chkUnselectFile.Checked, // Jpeg保存品質 JpegSavedQuality = this.numQuality.Value, // 中心を除去する IsRemovedCenterLine = this.chkRemoveCenter.Checked, // 除去する中心線の幅 RemovedCenterLineWidth = this.numRemovedCenterWidth.Value }; // 非選択ファイルの処理 var rdo = this.pnlUnselect.GetCheckedRadioButton(); if (rdo != null) { settings.UnselectedFilesOperation = (UnselectedFilesOperation)rdo.Tag; } // 保存ファイル形式 rdo = this.gbxSaveFileType.GetCheckedRadioButton(); if (rdo != null) { settings.SaveJpeg = (bool)rdo.Tag; } // 同名ファイル存在時 rdo = this.gbxExistsFile.GetCheckedRadioButton(); if (rdo != null) { settings.IsSkipSameFileName = (bool)rdo.Tag; } // 分割方法(&P) rdo = this.gbxSplit.GetCheckedRadioButton(); if (rdo != null) { settings.PageSplitType = (SplitType)rdo.Tag; } return(settings); }
/// <summary> /// 保存先フォルダをセットします。 /// </summary> /// <param name="settings">設定情報を表すImageSplitSettings。</param> private void setSavedPath(ImageSplitSettings settings) { if (settings.SavedSelectedFolderPath) { // 保存先フォルダを保存する場合のみ var folderPath = WinShellUtility.GetExistedFolderPath(settings.SavedFolderPath); if (string.IsNullOrEmpty(folderPath)) { // 存在しない場合はマイドキュメント folderPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); } this.txtSaveTo.Text = folderPath; } }
/// <summary> /// 非選択ファイルの処理を設定します。 /// </summary> /// <param name="settings">プラグイン設定を表すImageSplitSettings。</param> private void setUnselectedFilesOperation(ImageSplitSettings settings) { this.chkUnselectFile.Checked = settings.IsTargetForUnselectedFiles; this.setChkUnselectFileChecked(); switch (settings.UnselectedFilesOperation) { case UnselectedFilesOperation.CopyFiles: this.rdoCopyUnselect.Checked = true; break; case UnselectedFilesOperation.CreatNewFiles: this.rdoSaveNew.Checked = true; break; default: break; } }
/// <summary> /// ページの分割方法を設定します。 /// </summary> /// <param name="settings"></param> private void setSplitType(ImageSplitSettings settings) { switch (settings.PageSplitType) { case SplitType.Vertical1_2: this.rdoVerti1_2.Checked = true; break; case SplitType.Vertical2_1: this.rdoVerti2_1.Checked = true; break; case SplitType.Horizontal1_2: this.rdoHori1_2.Checked = true; break; case SplitType.Horizontal2_1: this.rdoHori2_1.Checked = true; break; default: break; } }
/// <summary> /// コンストラクタ。 /// </summary> /// <param name="srcImage">処理対象の元BatchTargetImage。</param> /// <param name="settings">分割設定を表すImageSplitSettings。</param> public VerticalSplitter(BatchTargetImage srcImage, ImageSplitSettings settings) : base(srcImage, settings) { }
/// <summary> /// コンストラクタ。 /// </summary> /// <param name="srcImage">処理対象の元BatchTargetImage。</param> /// <param name="settings">分割設定を表すImageSplitSettings。</param> public Splitter(BatchTargetImage srcImage, ImageSplitSettings settings) : base() { this.img = srcImage.GetTargetImage(); this.srcImage = srcImage; this.settings = settings; }
/// <summary> /// コンストラクタ。 /// </summary> /// <param name="srcImage">処理対象の元BatchTargetImage。</param> /// <param name="settings">分割設定を表すImageSplitSettings。</param> public HorizontalSplitter(BatchTargetImage srcImage, ImageSplitSettings settings) : base(srcImage, settings) { }