- 0
سجل دخول لمتابعه هذا
متابعين
0

تعلم طريقة وضع صورة ونص في نفس الملف
بواسطة
MiCcSoft,
-
يستعرض القسم حالياً 0 members
لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .
بواسطة
MiCcSoft,
لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .
تم النشر منذ
بسم الله الرحمن الرحيم
هذا درس رائع للتعلم كيفية حفظ نص - صورة في نفس الملف
مثل برنامج Acrobat Reader يقوم بفتح ملفات PDF التحي تحتوي
على صورة ونصوص .... فهل تريد أن يصبح لك تنسيق خاص بك ؟!!
الخطوة الأولى : كيف نقوم بتنظيم البيانات للكتابة
- يجب علينا أن نقوم بصنع جدوال (Structures)للتنظيمم والجدول التي ستلزمنا
الجدوال الأول
وهو لحفظ مجموعة صورة مع نص خاص بكل واحدة لكن أنتبه !
المتغير img هو المسؤول عن تخزين الصور لكنه ليس من النوع image
بل من النوع Byte !!! لماذا ؟
لأنه طريقة الكتابة إلى الملف لا تدعم النوع image لذا يجب تحويل الصور
إلى byte قبل
الجدول الثاني
هذا الجدول مسؤول عن حفظ النصوص
الجدول TypeToWrite
كما تلاحظ هو عبارة عن مصفوفات من الجدولين ImageType و TextType
وهو يتم تجهيزه في الاخر للكتابة
الأن أنتهينا من الجداول والأن عبارة عن دالة لكتابة الجدول TypeToWrite إلى ملف
------------------------------- الكتابة -------------------------------
والأن سنبدأ في طريقة تجهيز الجداول للكتابة :
الدالة : CreateMyFile
هذا الدالة تستقبل ثلاثة بارمترات وهي :
im - وهو الصورة المراد وضعها في الملف
strings - وهو النصوص المراد وضعها في الملف
FileName - وهو أسم الملف المراد الكتابة إليه
طريقة العمل :
أولا - كما ذكرنا سابقا فإن الجدول ImageType لا يقبل الصور إلى بعد تحويلها إلى Bytes وطريقة تحويلها
عن طريقة IO.MemoryStream
ثانيا شرح الدالة :في السطر الأول قمنا بتعريف متغير من النوع IO.MemoryStream لتحويل الصورة الممررة إلى Byte()
السطر الثاني لحفظ الصورة داخل ل MemoStream الأن أصبحت الصورة داخل MemoStream على شكل Byte() وهو المطلوب
وفي السطر الثالث نقوم بأخذها وأصبحت لدينا الأن الصورة على شكل Byte()
السطر الرابع نقوم ببدأ استعمال الجداول التي قمنا بعملها ونبدأ مع ImageType ونعرف متغير أسمه img
في السطر الخامس والسادس نقوم يتهيئة المتغيرات الخاصة بالمتغير img
في السطر السابع نقوم ببدء أستعمال الجدول TextType وفي الثامن نقوم بتهيئة متغيراته
في السطر التاسع نقوم بإستخدام الجدول TypeToWrite
طبعا هنا لم نسمح إلا بوضع صورة واحدة في الملف ويمكن تعديلها
الأن السطرالعاشر والحادي عشر نقوم بتعريف مصفوفات من الجداول imageType و TextType لأن
الجدوال TypeTowrite لا يقبل إلا مصفوفات لكي يتسنى وضع أكثر من جدوال
في السطرين 13 و 14 نقوم بتهيئة المتغير AllData
وفي السطر السادس عشر نكون قد جهزنا بيانات الملف ونستخدم الدالة WriteToFile التي قمنا بصنعها لكتابة
البيانات إليه
وهكذا نكون قد أنتهينا من طريق الكتابة والأن كيف سنقوم بقراءة الملف الذي قمنا بصنعه
------------------------------- القراءة -------------------------------
الكود هو :
الشرح :الأسطر الأول و الثاني و الثالث نقوم بتعريف الجداول لتعبأتها عند فتح الملف الهدف
الأسطر من 4 حتى 13 خي للأستعراض عن ملف
السطر 14 نقوم بفتح الملف الهدف
السطر 15 نقوم بملئ المتغير AllData الذي قمنا بتعريفه في السطر الثالث وهو من النوع TypeToWrite أي جدول
السطر 16 نقوم بإغلاق الملف بعد قراءته
السطرين 17 و 18 نقوم بملئ المتغيرين ImgType و TextTyp الذين قمنا بتعريفهما في السطرين الأول والثاني
الأن كما تذكر سابقا حولنا من image إلى Byte() عن طريق IO.MemoryStream ولعكس التحويل أي من Byte()
إلى image يجب أستخدام IO.MemoryStream
في السطر 19 قمنا بتعريف متغير من النوع IO.MemoryStream
الأن كيف سنقوم بكتابة ل Byte() إلى المتغير MemoStr
عن طريق IO.BinaryWriter
في السطر 20 قمنا يتعريف متغير من النوع IO.BinaryWriter وجعلنا البرامتر الخاص به هو MemoStr
السطر 21 نقوم بكتابة Byte() إلى MemoStr
السطر 22 نقوم بإنهاء ل الكتابة
وباقي الأسطر لإظهار النتائج
وهنا نكون قد أنتهينا وقد قمت بإرفاق مثال على هذا الدرس
تم بعون الله
Your_File_Exp.zip
شارك هذا الرد
رابط المشاركة
شارك الرد من خلال المواقع ادناه