منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : إخفاء تكست في صورة
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
البيانات في صورتها الأصلية غالبا تكون كلمات او حروف او أرقام
والدوت نت يسمح لك بالتحويل بين هذه الأنواع بسهولة
كمثال توضيحي اي مبرمج مبتدئ يستطيع التحويل من Integer الي String و العكس

و طالما تستطيع تحويل البيانات من نوع الي نوع أخر
إذن أنت هنا تستطيع حفظ البيانات بأساليب كثيرة


و الكود التالي يوضح كيفية كتابة اي String  في صورة
ثم قراءة ما هو موجود في الصورة و تحويله مرة ثانية الي String

الفكرة ببساطة تعتمد علي تحويل String اولا الي مصفوفة Byte
ثم كتابة المصفوفة الي ملف عبارة عن صورة او يمكنك الكتابة الي اي ملف بأي امتداد تحدده أنت

وعندما تحتاج الي String مرة ثانية
تقوم بقراءة الملف في صورة مصفوفة بايت
ثم تقوم بتحويل مصفوفة البايت الي String

أهم شئ أن الطريقة التي سوف تستخدمها في تحويل String الي مصفوفة بايت تكون هي نفس الطريقة التي سوف تستخدمها في تحويل مصفوفة البايت الي String

الكود:

PHP كود :
       Dim s As String "Visual Basic For Arab"

 
       ' Hide the string in the bitmap

        ' 
Step 1Convert the string to byte array by any means
        Dim bytes 
As Byte() = New Byte(s.Length 1) {}
 
       ' copy the string char array to byte array
        System.Buffer.BlockCopy(s.ToCharArray(), 0, bytes, 0, bytes.Length)

        ' 
Step 2 create a bitmap FileNane under any directory
        Dim bitmapFileNme 
As String ".\bmp.png"

 
       ' Step 3: write all bytes to the bitmpa file
        IO.File.WriteAllBytes(bitmapFileNme, bytes)



        ' 
Read the string from the bitmap

        
' Step 1: read all bytes from the bitmap File
        Dim resultBytes As Byte() = IO.File.ReadAllBytes(bitmapFileNme)
        ' 
Step 2convert the bytes to Char array
 
       Dim chars As Char() = New Char(resultBytes.Length 1) {}
 
       ' Copy bytes to char arrray
        System.Buffer.BlockCopy(resultBytes, 0, chars, 0, resultBytes.Length)

        ' 
Step 3build the string from Char array
 
       Dim resultString As String = New String(chars)

 
       Me.Text resultString