الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

الآن يمكنك أن تحول صفحاتك إلى صور .. شرح تفصيلي ومجهود ساعات طوال

بدأه moh_kin في 11 نوفمبر 2008 · 7 رد · 855 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بســم الله الـرحمــن الرحيــم

قابلتني وأنا في أمور عملي فكرة جميلة لحل مشكلة وعقبة

فطرأت هذه الفكرة .. وهي أن أحول نصوص HTML إلى صور أثناء runtime أي صور في الميموري فقط OnTheFly ...

الفكرة قد تبدو سخيفة أو متواضعة ... وقد تشعر أيضاً أنها بسيطة جداً

ويمكنكم مراجعة طلبي للمساعدة في هذه النقطة من هنا

/index.php?showtopic=176704

ولكن صدقوني مع بساطة الفكرة فقد أتعبتني كثيراً لأعثر لها على حل ...

وظللت لساعات طوال جداً أحاول وأجرب وأبحث إلى أن استطعت ان اعثر على الحل ... والذي أظنه بجميع الأحوال انفراد لمنتدانا العزيز وفكرة قد تساعد الكثيرين لمزيد من الأفكار والمشاريع هنا بالقسم

الحل:

تتلخص فكرة الحل في عمل متصفح في الميموري وتحميل صفحتك المطلوبة فيه .. ومن ثم تصوير الصفحة ... ومن ثم التخلص من المتصفح

بسيطة ... أليس كذلك؟!

بالطبع فهي ليست بسيطة مطلقاً خصوصاً أن عمل ذلك يتطلب العمل على Windows Application ونحن هنا ASP.NET ... ولا يخفى عليكم طبعاً الاختلاف الكبير بينهما ولا سيما التعارض وكذا Thread Savity وغيرها من النقاط التي يجب الحذر عند التعامل معها هنا في ASP.NET للحفاظ على أداء السيرفر والموقع وخلافه ...

وحتى لا أطيل الكلام إليكم المكونات:

أولاً: المكتبة

قمت بعمل مشروع Windows Application مع جعل Output Type: Class Library حتى أستطيع أن أدرجها في ASP.NET

وبداخل المشروع قمت بعمل Class واسميتها CustomBrowser .. وهي التي تتولى تكوين المتصفح الافتراضي والتحميل داخله وغيره .. وكذا ضبط Threads حتى لا يتم استهلاك مصار النظام أو السيرفر وكذا أخذ الصور في الأوقات المناسبة .. طبعاً لأننا هنا سنعمل على متصفح وهمي وبالطبع لا ندري متى تم الانتهاء من تحميل الصفحة لأخذ صورة ومتى يجب أن ننتظر قليلاً ...

وهي تأخد متغيرين ... الأول مسار الصفحة URL لو أردت أن يصور موقع لك .. والثاني محتوى الصفحة حالة لو كان عندك محتوى HTML كـ String ...

ثانياً: الموقع

طبعاً تم عمل Reference للمكون السابق هنا في الموقع

الموقع بسيط جداً .. صفحة بها أداة عرض صور ومربوطة على HTTP-Handler ليقوم بجلب الصورة لها أثناء تحميل الصفحة ... طبعاً هنا التحميل لن يكتمل إلا بعد اكتمال أخذ الصورة من المتصفح الوهمي أولاً ... وهذا سبب وجود عدد من Threads في المكون الأول

المشروع ككل مرفق مع المشاركة ... وتم الاستعانة في عمله ببعض المصادر الأجنبية ...

وبجب في المكون الأول ملاحظة السطر webserver.Navigate الذي ممرت له الصفحة about:blank حتى يظل المتصفح فارغ حتى أعطيه المحتوى الذي أريد على شكل HTML String ...

طبعاً يمكن تغيير هذا الـ Parameter لإظهار صفحة موقع كصورة بموقعك مثل مثلاً http://www.google.com .. طبعاً مع إيقاف السطر

webBrowser.Document.Body.InnerHtml

وهنا سيعرض الموقع الآخر كصورة داخل موقعك ... ومن ثم تكون قد عملت شيء أشبه بالـ IFrames مدعم من كل المتصفحات عكس IFrames

طبعاً يمكن عمل المزيد من التعديلات والأفكار الجديدة ... والتي أتمنى طرحها هنا ...

وفي النهاية أسأل الله أن يجعلي عملي هذا خالصاً لوجهه الكريم وأن يتقبله مني وأن ينفع به المسلمين

العمل مهدً إلى كل الإخوة هنا وبخاصة أخوي الكريمين AhmedElbaz وTareqVB

وسلام الله عليكم أجمعين

HTML2Img.rar

تم تعديل هذه المشاركة بواسطة moh_kin في 11 نوفمبر 2008 في 17:50

ASP.NET Team Leader

moh_kin_mah@hotmail.com

--------------------------------

لو أعجبك أي من مشاركاتي ... برجاء قم بتقييم المشاركة عبر الأزرار الموجودة أسفل يسار كل مشاركة

#2

ميه ميه ياعم الحج

بس بالنسبة للموقع نفسه حاول انك تنشأ الصورة مرة واحدة و تخزينها و مع كل تعديل تعيد انشأها و تخزينها بحيث انشاء الصورة مع اول request بس و بعد كده يرجع الصورة المخزنة عشان الاداء و الكلام ده

بالتوفيق ان شاء الله

#3

طبعاً ممكن بالفعل إن الصورة يتم حفظها على الموقع ... وكمان فيه أفكار تانية ممكن عملها ...

اللي خلاني مااحفظشي الصورة في النسخة دي .. هو إن العقبة اللي عندي محتوى html هايتغير مع كل مرة وبالتالي الصفحة لن أستفيد بحفظها ..

لكن طبعاً فيه غيري أكيد هايسفيدوا من حفظ صور وخاصة لو بيعملوا SnapShot لمواقع تانية

ASP.NET Team Leader

moh_kin_mah@hotmail.com

--------------------------------

لو أعجبك أي من مشاركاتي ... برجاء قم بتقييم المشاركة عبر الأزرار الموجودة أسفل يسار كل مشاركة

#4

مشكور

abdullahf4.jpg
#5

مشكوووووووور اخي الكريم ...

ونفع بك الأمة وجعلك ذخراً لها ...

#6

شرفتوني إخوتي ونورتوا الموضوع

ASP.NET Team Leader

moh_kin_mah@hotmail.com

--------------------------------

لو أعجبك أي من مشاركاتي ... برجاء قم بتقييم المشاركة عبر الأزرار الموجودة أسفل يسار كل مشاركة

#7

صراحةً جهد جبار ورائع

joseph.gif

logo.gif

CCNA 640-802

مدونتي

#8

مجهود عظيم تستاهل الشكر.

-----------------------------------------------------------------

مواضيع مشابهة