تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
سؤال عن الريورس (كيفية استخراج ملف من نوع bitmap
#1
السلام عليكم
اخواني الاعزاء لقد اطلعت على الروابط التي تشرح التعامل مع الريسورس وتوصلت الى هذه الدالة:
كود :
Public Function ResourcesFiles() As List(Of String)
       Dim _List As New List(Of String)
       Dim ResourceSet As System.Resources.ResourceSet = My.Resources.ResourceManager.GetResourceSet(Globalization.CultureInfo.CurrentCulture, True, True)
       For Each Dict As DictionaryEntry In ResourceSet.OfType(Of Object)()
           _List.Add(Dict.Key)
       Next
       Return _List
   End Function
طبعا طريقة استخراج الملف الذي يتم حفظه بصيغة byte بسيطة
وايضا الاخرى بسيطة عن طريق
كود :
               My.Resources.mypic.Save("")

لكن كيف ادور على كافة الملفات بالمصدر  واستخرج كل ملف بما يناسبه
محاولتي هذه
كود :
For Each itm In ResourcesFiles()
           Dim GT = Path.GetExtension(My.Resources.ResourceManager.GetObject(itm).ToString)
           Dim m() As Byte = Nothing
           If GT.ToString = ".Bitmap" Then
               Dim f As Bitmap = My.Resources.ResourceManager.GetObject(itm)
           Else
               m = My.Computer.FileSystem.ReadAllBytes(My.Resources.ResourceManager.GetObject(itm))
           End If
           Dim x As String = ""
           If GT.ToString = ".Bitmap" Then
               x = ".png"
           Else
               x = ".mp4"
           End If
           My.Computer.FileSystem.WriteAllBytes("C:\Users\saud\Desktop\fff\" & itm & x, m, False)
       Next

اضف للريسورس صورة وملف فيديو بتنسيق مثلا mp4
الجزئية الخاصة بحفظ bitmap ناقصة لم اتوصل لحل

كود :
For Each itm In ResourcesFiles()
            Dim GT = Path.GetExtension(My.Resources.ResourceManager.GetObject(itm).ToString)
            If GT.ToString = ".Bitmap" Then
                Dim pic As New PictureBox
                pic.Image = My.Resources.ResourceManager.GetObject(itm)
                pic.Image.Save("C:\Users\saud\Desktop\fff\" & itm & ".png")
            Else
                Dim m() As Byte = My.Resources.ResourceManager.GetObject(itm)
                My.Computer.FileSystem.WriteAllBytes("C:\Users\saud\Desktop\fff\" & itm & ".mp4", m, False)
            End If
        Next

تم الحلSmile

بالنسبة للصور كما تعلمون عدة انواع والكود الموجود يعيد امتداد .bitmap لاي صورة فكيف افرق بينهن؟؟؟
الرد }}}
تم الشكر بواسطة:
#2
تقدر تستفيد من هذا الموضوع لتحديد نوع الصور
Check the file format of an Image

بعد الاستفادة من هذا الموضوع وإجراء بعض التعديلات
كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim folder As String = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) & "\fff\"
    If Not IO.Directory.Exists(folder) Then IO.Directory.CreateDirectory(folder)
    For Each itm In ResourcesFiles()
        If IO.Path.GetExtension(My.Resources.ResourceManager.GetObject(itm).ToString) = ".Bitmap" Then
            Dim frm As ImageFormat = GetImageFormat(My.Resources.ResourceManager.GetObject(itm))
            My.Resources.ResourceManager.GetObject(itm).Save(folder & itm & "." & frm.ToString, frm)
        Else
            Dim m() As Byte = My.Resources.ResourceManager.GetObject(itm)
            My.Computer.FileSystem.WriteAllBytes(folder & itm & ".mp4", m, False)
        End If
    Next
End Sub

Public Function ResourcesFiles() As List(Of String)
    Dim _List As New List(Of String)
    Dim ResourceSet As System.Resources.ResourceSet
    ResourceSet = My.Resources.ResourceManager.GetResourceSet(Globalization.CultureInfo.CurrentCulture, True, True)
    For Each Dict As DictionaryEntry In ResourceSet.OfType(Of Object)()
        _List.Add(Dict.Key)
    Next
    Return _List
End Function

Private Function GetImageFormat(ByVal img As Image) As ImageFormat
    If img.RawFormat.Guid = ImageFormat.Bmp.Guid Then Return ImageFormat.Bmp
    If img.RawFormat.Guid = ImageFormat.Gif.Guid Then Return ImageFormat.Gif
    If img.RawFormat.Guid = ImageFormat.Jpeg.Guid Then Return ImageFormat.Jpeg
    If img.RawFormat.Guid = ImageFormat.Png.Guid Then Return ImageFormat.Png
    If img.RawFormat.Guid = ImageFormat.Tiff.Guid Then Return ImageFormat.Tiff
    If img.RawFormat.Guid = ImageFormat.Icon.Guid Then Return ImageFormat.Icon
End Function
الرد }}}
تم الشكر بواسطة: سعود


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مساعدة في حل سؤال بخصةص عرض الوقت عبدالكريم برشدان 2 99 12-04-24, 03:05 PM
آخر رد: عبدالكريم برشدان
  كيفية جمع أرقام عمود فى الداتا جريد فيو بناءاً على بيانات معينة heem1986 5 239 25-02-24, 11:26 PM
آخر رد: heem1986
  كيفية تنفيذ امر عند التعليم على checkbox بالداتا جريد فيو heem1986 2 162 21-02-24, 01:37 AM
آخر رد: heem1986
  كيفية انشاء سكريبت لقاعدة بيانات من خلال الكود heem1986 1 214 20-02-24, 12:00 AM
آخر رد: Kamil
  كيفية تنفيذ أمر عرض بيانات من فورم ثان مصمم هاوي 7 338 19-02-24, 12:28 AM
آخر رد: مصمم هاوي
  كيفية حفظ وتحزيم المشروع وتشغيله كبرنامج علىجميع الاجهزة الرائد 3 1,137 18-02-24, 10:37 PM
آخر رد: الحزين اليماني
  سؤال عن عملية حذف سجل من قاعدة البيانات assuhimi 3 264 11-02-24, 08:43 PM
آخر رد: assuhimi
Big Grin [سؤال] سؤال على السريع أبو خالد الشكري 0 188 29-01-24, 08:58 AM
آخر رد: أبو خالد الشكري
  سؤال بسيط يا احبتى فى الله خالد كامل1 4 317 07-01-24, 12:55 AM
آخر رد: Mujahef
  [سؤال] كيفية انشاء فورم داخل مشروعى عاصم النجار 2 314 05-01-24, 12:36 AM
آخر رد: HALIM ELEULMA

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم