コード例 #1
0
        public void TopCreateOneShortcut(bool bJpegAlreadyExists)
        {
            string sUrl = InputBoxForm.GetStrInput("Enter URL:", "http://example");

            if (!BookmarkBucketCore.looksLikeAUrl(sUrl))
            {
                return;
            }

            if (bJpegAlreadyExists)
            {
                string sInputJpeg = ImageHelper.GetOpenString("jpeg", "Select a jpeg:");
                if (sInputJpeg == null || !File.Exists(sInputJpeg))
                {
                    return;
                }
                BookmarkBucketCore.StripAllExifData(sInputJpeg);
                BookmarkBucketCore.SetExifData(sInputJpeg, sUrl, Path.GetFileNameWithoutExtension(sInputJpeg));
            }
            else
            {
                string sOutJpeg = ImageHelper.GetSaveString("jpeg", "Save jpeg to:");
                if (sOutJpeg == null)
                {
                    return;
                }
                string             sDir = Path.GetDirectoryName(sOutJpeg);
                BookmarkBucketItem item = new BookmarkBucketItem {
                    sFile = Path.GetFileNameWithoutExtension(sOutJpeg), sUrl = sUrl
                };
                ModelItemToJpeg(item, sDir);
            }
        }
コード例 #2
0
        private void ModelItemToJpeg(BookmarkBucketItem item, string sDir)
        {
            // If the webpage cannot be loaded, we want to create a .html and .jpeg anyways.
            // 1) save html
            string sHtml    = sDir + "\\" + item.GetNameWithoutExtension() + ".html";
            bool   bGotHtml = BookmarkBucketImplementation.DownloadFile(item.sUrl, sHtml);

            File.AppendAllText(sHtml, strHtmlStamp + item.sUrl + "-->"); // will create file.

            // 2) save png screenshot
            string sPng       = sDir + "\\" + item.GetNameWithoutExtension() + ".png";
            bool   bSucceeded = BookmarkBucketImplementation.DownloadWebsiteSnapshot(item.sUrl, sPng);

            if (!bSucceeded)
            {
                using (Bitmap b = ImageHelper.GetBlankBitmap(300, 300)) { b.Save(sPng); }
            }

            // 3) resize and convert png to jpeg
            string sJpeg = sDir + "\\" + item.GetNameWithoutExtension() + ".jpeg";

            ImageHelper.ResizeAndTruncateAndSaveImage(sPng, sJpeg, 400, 300, 0.5f, 84, false);
            File.Delete(sPng);
            if (!File.Exists(sJpeg))
            {
                throw new BookmarkBucketException("Jpeg file expected to be created for '" + item.sFile + "', but was not found");
            }

            // 4) write exif info to jpeg
            BookmarkBucketCore.SetExifData(sJpeg, item.sUrl, item.GetNameWithoutExtension());
        }
コード例 #3
0
        private void ModelItemToJpeg(BookmarkBucketItem item, string sDir)
        {
            // If the webpage cannot be loaded, we want to create a .html and .jpeg anyways.
            // 1) save html
            string sHtml = sDir + "\\" + item.GetNameWithoutExtension() + ".html";
            bool bGotHtml = BookmarkBucketImplementation.DownloadFile(item.sUrl, sHtml);
            File.AppendAllText(sHtml, strHtmlStamp + item.sUrl + "-->"); // will create file.

            // 2) save png screenshot
            string sPng = sDir + "\\" + item.GetNameWithoutExtension() + ".png";
            bool bSucceeded = BookmarkBucketImplementation.DownloadWebsiteSnapshot(item.sUrl, sPng);
            if (!bSucceeded) { using (Bitmap b = ImageHelper.GetBlankBitmap(300, 300)) { b.Save(sPng); } }

            // 3) resize and convert png to jpeg
            string sJpeg = sDir + "\\" + item.GetNameWithoutExtension() + ".jpeg";
            ImageHelper.ResizeAndTruncateAndSaveImage(sPng, sJpeg, 400, 300, 0.5f, 84, false);
            File.Delete(sPng);
            if (!File.Exists(sJpeg)) throw new BookmarkBucketException("Jpeg file expected to be created for '" + item.sFile + "', but was not found");

            // 4) write exif info to jpeg
            BookmarkBucketCore.SetExifData(sJpeg, item.sUrl, item.GetNameWithoutExtension());
        }
コード例 #4
0
        private BookmarkBucketItem UrlShortcutToModelItem(string strFullfilename, string sName)
        {
            BookmarkBucketItem item = new BookmarkBucketItem {
                sUrl = "", sFile = sName
            };
            string sTxt = File.ReadAllText(strFullfilename);

            sTxt = sTxt.Replace("\r\n", "\n");
            string[] astr = sTxt.Split(new char[] { '\n' });
            foreach (string s in astr)
            {
                if (s.StartsWith("URL="))
                {
                    item.sUrl = s.Substring("URL=".Length);
                }
            }
            if (item.sUrl.Length == 0)
            {
                throw new BookmarkBucketException("Could not find url in file " + sName + ".");
            }
            return(item);
        }
コード例 #5
0
        public void TopCreateOneShortcut(bool bJpegAlreadyExists)
        {
            string sUrl = InputBoxForm.GetStrInput("Enter URL:", "http://example");
            if (!BookmarkBucketCore.looksLikeAUrl(sUrl)) return;

            if (bJpegAlreadyExists)
            {
                string sInputJpeg = ImageHelper.GetOpenString("jpeg", "Select a jpeg:");
                if (sInputJpeg == null || !File.Exists(sInputJpeg)) return;
                BookmarkBucketCore.StripAllExifData(sInputJpeg);
                BookmarkBucketCore.SetExifData(sInputJpeg, sUrl, Path.GetFileNameWithoutExtension(sInputJpeg));
            }
            else
            {
                string sOutJpeg = ImageHelper.GetSaveString("jpeg", "Save jpeg to:");
                if (sOutJpeg == null) return;
                string sDir = Path.GetDirectoryName(sOutJpeg);
                BookmarkBucketItem item = new BookmarkBucketItem { sFile = Path.GetFileNameWithoutExtension(sOutJpeg), sUrl = sUrl};
                ModelItemToJpeg(item, sDir);
            }
            
        }
コード例 #6
0
 private BookmarkBucketItem UrlShortcutToModelItem(string strFullfilename, string sName)
 {
     BookmarkBucketItem item = new BookmarkBucketItem { sUrl = "", sFile = sName };
     string sTxt = File.ReadAllText(strFullfilename);
     sTxt = sTxt.Replace("\r\n", "\n");
     string[] astr = sTxt.Split(new char[] { '\n' });
     foreach (string s in astr)
     {
         if (s.StartsWith("URL="))
             item.sUrl = s.Substring("URL=".Length);
     }
     if (item.sUrl.Length == 0) throw new BookmarkBucketException("Could not find url in file " + sName + ".");
     return item;
 }