Пример #1
0
        // сохранение выделенных обложек на диск
        public static void saveSelectedCovers(ListView listView, ref string DirForSavedCover,
                                              string MessageTitle, FolderBrowserDialog fbdSaveDir)
        {
            if (listView.Items.Count > 0 && listView.SelectedItems.Count > 0)
            {
                string TempDesc  = fbdSaveDir.Description;
                string TargetDir = FilesWorker.OpenDirDlg(DirForSavedCover, fbdSaveDir, "Укажите папку-приемник для сохранения выбранных обложек:");
                fbdSaveDir.Description = TempDesc;
                DirForSavedCover       = TargetDir;
                if (TargetDir == null)
                {
                    return;
                }

                string NotSavedCovers = string.Empty;
                foreach (ListViewItem Item in listView.SelectedItems)
                {
                    Image image = ImageWorker.base64ToImage(Item.Tag.ToString());
                    try {
                        image.Save(Path.Combine(TargetDir, Item.Text.Trim()));
                    } catch (System.Exception /*e*/) {
                        NotSavedCovers += Item.Text.Trim() + "\n";
                    }
                }
                if (!string.IsNullOrEmpty(NotSavedCovers))
                {
                    MessageBox.Show(
                        "Следующие обложки не удалось сохранить корректно (битые):\n" + NotSavedCovers, MessageTitle, MessageBoxButtons.OK, MessageBoxIcon.Warning
                        );
                }
            }
        }
Пример #2
0
        // Создание итемов ListView названий Обложек
        public static int makeListViewCoverNameItems(ListView lv, ref IList <BinaryBase64> Covers)
        {
            int ImageCount = 0;

            if (Covers != null && Covers.Count > 0)
            {
                string Temp = Settings.Settings.TempDirPath;
                if (!Directory.Exists(Temp))
                {
                    Directory.CreateDirectory(Temp);
                }

                foreach (BinaryBase64 Cover in Covers)
                {
                    if (Cover != null)
                    {
                        ListViewItem lvi = new ListViewItem(Cover.id);
                        lvi.SubItems.Add(Cover.contentType);

                        Image image = null;
                        try {
                            image = ImageWorker.base64ToImage(Cover.base64String);
                        } catch (Exception /*exp*/) {
                            continue;
                        }

                        lvi.SubItems.Add(string.Format("{0} x {1} dpi", image.VerticalResolution, image.HorizontalResolution));
                        lvi.SubItems.Add(string.Format("{0} x {1} Pixels", image.Width, image.Height));

//						string Type = Cover.contentType.Substring( Cover.contentType.IndexOf( '/' ) + 1 );
                        string TempFile = Path.Combine(Temp, string.Format("__temp_image__{0}", Cover.id));

                        try {
                            image.Save(TempFile);
                            FileInfo file = new FileInfo(TempFile);
                            lvi.SubItems.Add(FilesWorker.FormatFileLength(file.Length));
                            if (File.Exists(TempFile))
                            {
                                File.Delete(TempFile);
                            }
                        } catch (System.Exception /*exp*/) {
                            lvi.SubItems.Add("? kb");
                        }

                        lvi.Tag = Cover.base64String;
                        lv.Items.Add(lvi);
                        ++ImageCount;
                    }
                }
            }
            return(ImageCount);
        }