تقييم الموضوع :
  • 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
الرد }}}}
تم الشكر بواسطة: سعود


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
Exclamation سؤال حول المعامل Ctype ndjakoub 2 70 17-01-17, 10:54 AM
آخر رد: silverlight
  سؤال محمد بن عطية 3 99 13-01-17, 12:10 AM
آخر رد: مساعدة
  [VB.NET] كيفية برمجه serail port engmedomed@gmail.com 2 75 12-01-17, 03:50 AM
آخر رد: Basil Abdallah
  كيفية تغير رسائل الخطأ؟ noway 4 155 12-01-17, 02:05 AM
آخر رد: يسرى7
  [سؤال] حماية ملف الdll من استخراج الاكواد mohamed haroon 5 318 10-01-17, 05:56 AM
آخر رد: mohamed haroon
  كيفية استخراج ربح من المبيعات عندما تكون سعر شراء المادة مختلة في كل مرة max_1978 3 109 05-01-17, 12:40 AM
آخر رد: أبو عمر
  عند الانتقال الى تكست ثاني استخراج المكرر الدريساوي 3 107 03-01-17, 11:41 PM
آخر رد: مساعدة
  [VB.NET] كيفية رفع صوره مع السؤال في المنتدي engmedomed@gmail.com 3 107 02-01-17, 08:24 PM
آخر رد: Basil Abdallah
  [VB.NET] سؤال في text box engmedomed@gmail.com 1 78 31-12-16, 07:20 PM
آخر رد: مساعدة
  [VB.NET] سؤال في الرسم البياني engmedomed@gmail.com 0 62 27-12-16, 11:42 PM
آخر رد: engmedomed@gmail.com

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


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