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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] كيفية استخدام مكتبة TLSharp الماجيك مسعد 3 44 منذ 13 دقيقة مضت
آخر رد: الماجيك مسعد
Wink سؤال في اضافة وسحب اصناف من المخزن khadija_seedi_ali 2 48 منذ 2 ساعة مضت
آخر رد: khadija_seedi_ali
Sad [VB.NET] كيفية تصميم قاعدة بيانات SQL Server وربطها مع الVS 2010 Ayman97 0 24 أمس, 04:34 PM
آخر رد: Ayman97
  سؤال حول Combobox noway 2 47 أمس, 04:26 AM
آخر رد: amgad525
  كيفية تخفيض مستوي الامان في الاكسل atefkhalf2004 7 90 28-11-16, 06:48 PM
آخر رد: atefkhalf2004
Question [VB.NET] كيفية ربط أى حقل IFieldObject بعمود بجدول برمجياً Crystal Reports newvbdev 4 116 23-11-16, 08:51 PM
آخر رد: newvbdev
  كيفية تغير رسائل الخطأ؟ noway 3 75 11-11-16, 05:37 PM
آخر رد: ممدوح
  [VB.NET] كيفية طباعة شهادات بصيغة PDF Programmer_2017 9 255 10-11-16, 10:02 PM
آخر رد: Programmer_2017
  [VB.NET] سؤال كيف يمكن معرفة التغير في قاعدة البيانات وليد الزنتاني 2 114 10-11-16, 01:20 AM
آخر رد: وليد الزنتاني
  [VB.NET] كيفية تحميل صورة من قاعدة بيانات اكسس 2010 نوريس 2 111 09-11-16, 12:32 PM
آخر رد: نوريس

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


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