פורסם 2009 באוקטובר 716 שנים שלום אני רוצה ליצור אובייקט דפדפן מוקטן שיציג לי תוכן של אתר (מעין preview) אבל בגודל קטן (ומשתנה) . אני משתמש כרגע ב c# בעזרת האובייקט webbrowser , לא מצאתי בתכונות שלו משהו שיעזור (בסגנון fit to scale) חשבתי לנסות לשמור את האובייקט בתור תמונה ולהציג אותו אבל אני לא ממש יודע איך לממש את זה . אשמח להדרכה קלה תודה .
פורסם 2009 באוקטובר 716 שנים באובייקט ה-webbrowser תשתמש בפונקציית ה-DrawToBitmap כדי לייצר תמונה של האתר באיזה גודל שתרצה ואז תציג את התמונה.http://pietschsoft.com/post/2008/07/23/C-Generate-WebPage-Thumbmail-Screenshot-Image.aspx
פורסם 2009 באוקטובר 816 שנים מחבר הממ אוקי , שמתי לב שזו אופציה שקיימת רק בגירסא 3.5 של הדוט-נט , ואני משתמש בגירסא 2אם הייתי צריך לממש את זה בעצמי איך הייתי מנסה ? הכיוון שלי יהיה לכתוב מחלקה חדשה שתירש ממנו כדי לגשת ליותר אלמנטים בה ולבדוק אולי משהו שם יעזור אבל אני לא ראיתי שום התייחסות לגרפיקה שם ?שוב , אשמח לכיוון כללי כלשהוא .
פורסם 2009 באוקטובר 916 שנים using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace htmlThumbnail{ public partial class mainForm: Form { WebBrowser _webBrowser = new WebBrowser(); public mainForm() { InitializeComponent(); } private void gotoSite () { _webBrowser.Navigate(textBox1.Text); _webBrowser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(renderHTML); } public void renderHTML (object sender, WebBrowserDocumentCompletedEventArgs e) { _webBrowser.ClientSize = new Size(1024, 768); _webBrowser.ScrollBarsEnabled = false; _webBrowser.Height = 1024; _webBrowser.Width = 1024; _webBrowser.Dock = DockStyle.Fill; Bitmap renderOut = new Bitmap(_webBrowser.Height, _webBrowser.Width); _webBrowser.DrawToBitmap(renderOut, new Rectangle(_webBrowser.Location.X, _webBrowser.Location.Y, _webBrowser.Height, _webBrowser.Width)); pictureBox1.BackgroundImageLayout = ImageLayout.Stretch; pictureBox1.BackgroundImage = renderOut; } private void button1_Click(object sender, EventArgs e) { gotoSite(); pictureBox1.Refresh(); } }}עובד על 2.0 יפה מאוד, רק שתשים לב אם אתה רוצה Thumbnail איכותי, אתה תצתרך לערוך Transform לתמונה לבד.
פורסם 2009 באוקטובר 916 שנים מחבר תודה רבה צודק , זה עובד .אשמח לדעת למה זה עובד?אני משתמש ב VS2005 והקומפלייר לא מזהה לי את המתודה האלה כחלק מהמחלקה של webbrowser , למה הוא לא מחזיר שגיאת קומפילציה על המתודה? זה קשור לכך שעל המחשב יש לי גירסא מעודכנת יותר של הדוטנט ?
פורסם 2009 באוקטובר 916 שנים גם VS2008 לא מזהה, עד כמה שהבנתי המתודה הזאתי נועדה לשימוש פנימי ולא מפובלשת כחלק מהקלאס.
פורסם 2009 באוקטובר 1016 שנים אני חושב שזה נובע מכך ש-webbrowser הוא פקד מסוג activex ולפחות רשמית לפקדים מסוג זה המתודה DrawToBitmap לא אמורה לעבוד.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.