Posts

Comparing two images and get difference image

The below steps describe how to compare tow images and get difference image Step 1: Get images to compare, both images shall be of same size  Dim sourceBitmap  As  Bitmap  =  PictureBox2 . Image  Dim destBitmap  As  Bitmap  =  PictureBox1 . Image   Step 2: Get byte array of each bitmap 2.1 Get first image byte array Dim sourceBitmapData As Imaging.BitmapData = sourceBitmap.LockBits(New Rectangle(0, 0, sourceBitmap.Width, sourceBitmap.Height), Imaging.ImageLockMode.ReadOnly, Imaging.PixelFormat.Format32bppArgb)      Dim sourceBytes As Byte() = New Byte(sourceBitmapData.Stride * sourceBitmapData.Height - 1) {}          Runtime.InteropServices.Marshal.Copy(sourceBitmapData.Scan0, SourceBytes, 0, SourceBytes.Length)          sourceBitmap.UnlockBits(sourceBitmapData)     2.1 Get second image byte array   Dim destBitmapData  As  Imaging . BitmapData  =  destBitmap . LockBits (New  Rectangle ( 0 ,  0 ,  destBitmap . Width ,  destBitmap . Height ),  Imaging . ImageLockMode . Read

تحويل التاريخ الي تكست

أولا يتم تحويل التاريخ الي مصفوفة Private  Function  ConvertDateTimeToArray ( dt  As  DateTime ) As  String ()          Return  New List( Of String )  From  { dt . Year Mod 10000 ,  dt . Month Mod 100 ,  dt . Day Mod 100 ,  dt . Hour Mod 100 ,  dt . Minute Mod 100 ,  dt . Second Mod 100 }. ToArray End  Function ثانيا نقوم تحويل المصفوفة الي تكست   Private  Function  ConvertDateTimeToString ( dt  As  DateTime ) As  String         Dim result  As  String  =  ""          For Each s  As  String In ConvertDateTimeToArray ( dt )              result  +=  s             result  +=  " " c         Next         Return result . TrimEnd ( " " c ) End  Function  الإستخدام Dim s  As  String  =  ConvertDateTimeToString ( DateTime . Now )

دقة الشاشة Screen Resolution

الهدف من هذا الموضوع هو توضيح كيفية حساب مقياس رسم يتناسب مع دقة الشاشة الخاصة بشاشة الكمبييوتر ثم استخدام تلك الحسابات في ضبط أبعاد الفورم و أيضا ضبط أبعاد كل شئ موجود علي الفورم مثل الكونترول و الصور و الفونت ليتناسب مع أبعاد شاشة الكمبيوتر أولا كل شئ يظهر علي شاشة الكمبيوتر يتأثر كليا بشاشة الكمبيوتر و السبب في ذلك هو أن كل شئ علي سطح الكمبيوتر عبارة عن مجموعة من الرسومات التي تم رسمها علي سطح شاشة الكمبيوتر والقائمة التالية تحتوي علي الأشياء التي تتأثر بشاشة الكمبيوتر الفونت الأبعاد: مثل المستطيلات و العرض النقطة: و المقصد هنا هو أماكن الصور و الكونترول و ما شابه الصور والأيقونات الفورم و الكونترول مثل الليست بوكس و البكتشر بوكس و ما شابه ذلك بنظرة سريعة علي القائمة أعلاه ستجد  أن جميع هذه الأشياء لها صلة وثيقة و مرتبطة مع بعضها البعض تماما ضبط الفورم و الكونترول ليتنسابا مع أبعاد اي شاشة كمبيوتر يتلخص في الخطوات التالية تحديد مقياس الرسم الذي نراه مناسبا و افضل مقياس رسم هو القيمة = 1 معرفة  الفورم الي سنقوم بضبط أبعاده معرفة جميع الكونترول الموجودة

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

مقدمة الحروف العربية مظلومة قليلا و غاليا اي مبرمج يعاني أحيانا في التعامل مع الحروف العربية تحديدا او قد يعاني أيضا حين  يريد التعامل مع اي حروف مكتوبة بلغة أخري غير اللغة الإنجليزية و في هذا الموضوح سأحاول أن أوضح كيفية تشفير الحروف العربية فقط الفكرة الحروف بشكل عام لها جداول وداخل هذه الجداول ستجد أن الحروف مرتبة برقم مسلسل و ايضا لها رقم  سداسي عشري  أو بمعني أدق كل حرف في جداول الحروف له مميزات يتم استخدامها للتفريق بينه و بين باق الحروف الأمثلة التالية توضح كيفية الحصول علي الرقم المسلسل الخاص بأي حرف مثال 1: الكود التالي يوضح مثال بسيط لكيفية الحصول علي الرقم المسلسل الخاص بحرف الياء التي تحتها نقطتان Dim c  As  Char  =  "ي" c Me . Text  =  Convert . ToInt32 ( c ) مثال 2: أيضا الكود التالي يوضح كيفية الحصول علي الرقم المسلسل الخاص بحرف الهمزة Dim c  As  Char  =  "ء" c Me . Text  =  Convert . ToInt32 ( c ) من الأمثلة أعلاه ستكتشف ان الرقم المسلسل بالحروف العربية يبدأ من الرقم 1569 , وينتهي بالرقم 1610 الملحوظة الهامة هنا هي أن الرقم

مقدمة إلي إخفاء المعلومات - الجزء الثاني

في هذا الجزء من موضوع مقدمة إلي إخفاء المعلومات سنوضح و بطريقة مبسطة كيف يمكن تحويل تكست او مجموعة من الحروف الي مجموعة من الصور ثم نوضح الكيفية التي من الممكن بها استرداد هذه الحروف مرة أخري  من تلك الصور بشكل عام هدفي من طرح هذا الموضوع هو توضيح انه كيف ومن مجرد فكرة بسيطة  أن تخرج منها بأفكار أخري أهم و الفكرة سيتم كتابتها علي مراحل لتوضيح بعضا من الموضوعات التالية   حفظ المعلومات و حمايتها حماية السورس كود بناء الباركود و قرائته تحويل الملفات الي أنماط مختلفة بناء الفونت بناء الصور المتحركة حماية السيريال الخاص باي برنامج تحويل الحروف الي صور الخطوات التالية توضح كيفية تحويل مجموعة من الحروف الي مجموعة صور  تعريف الكلمة او الحروف Dim s  As  String  =  "omar amin"  تعريف مصفوفة الصور Dim bitmaps  As  Bitmap () = New  Bitmap ( s . Length  -  1 ) {} تحويل كل حرف موجود في التكست الي صورة و ذلك باستخدام الدوال التي كتبناها في الخلاصة أعلاه ثم نقوم بإضافة كل صورة الي مصفوفة الصور For i  As  Integer  =  0 To s . Length  -  1       Dim c  As  Char 

Inventing The Wheel, Simple Practice: SkipTakeFilter(Of T)

The below class represents a simple trail to understand how to bypasses a specified number of elements in a sequence/list/array and then returns the remaining elements. Public Class SkipTakeFilter(Of TValue)     Implements IEnumerable(Of TValue)     Private skip As Integer     Private take As Integer     Private values As IEnumerable(Of TValue)     Public Sub New(values As IEnumerable(Of TValue), take As Integer)         Me.New(values, 0, take)     End Sub     Public Sub New(values As IEnumerable(Of TValue), skip As Integer, take As Integer)         Me.values = values         Me.skip = skip         Me.take = take     End Sub     Public Function GetEnumerator() As IEnumerator(Of TValue) Implements IEnumerable(Of TValue).GetEnumerator         Return New Filter(Of TValue)(Me.values.GetEnumerator(), skip, take)     End Function     Private Function IEnumerable_GetEnumerator() As IEnumerator Implements IEnumerable.GetEnumerator         Return Me.GetEnumerator     End

مقدمة إلي إخفاء المعلومات - الجزء الأول

في بعض الأوقات قد يحتاج المبرمج الي إخفاء بعض المعلومات و من ثم يستردها مرة أخري لكي يستخدمها كيفما يشاء من داخل برنامجه  و في هذا الموضوع و علي أجزاء مختلفة سوف نناقش بعض الاساليب البسيطة التي من الممكن استخدامها لإخفاء المعلومات في لون أو في صورة أو في ملف من اي نوع  البيانات غالبا لها أشكال كثيرة فهي إما أن تكون علي هيئة تكست او جروف أو أرقام أو علي هيئة صور أو ملفات وكل هذه الاشكال من البيانات من الممكن تحويلها جميعا الي بايت إخفاء حرف واحد فقط في صورة الخطوات التالية توضح الكود مع تفسير لكل سطر في الكود   الخطوة الأولي : تحديد و تعريف الحرف Dim chr As Char = "A"c الخطوة الثانية : تحويل الخرف الي بايت Dim b As Byte = Convert.ToByte(chr)  الخطوة الثالثة : تعريف متغير عبارة عن لون و ذلك باستخدام قيمة البايت من الخطوة الثانية Dim clr As Color = Color.FromArgb(b, b, b, b) الخطوة الرابعة : تعريف متغير عبارة عن صورة و هنا سوف أقوم ببناء صورة صغيرة بأبعاد مناسبة Dim bmp As Bitmap = New Bitmap(20, 20)  الخطوة الخامسة : الأن نملأ الصورة باللون