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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  كيفية عرض البيانات فى DataGridView فى وضع CrossTab noway 0 15 منذ 11 ساعة مضت
آخر رد: noway
  [VB.NET] مشكلة في كيفية اعادة الاتصال في TcpClient YazanOtoum 1 43 أمس, 01:03 PM
آخر رد: YazanOtoum
  [VB.NET] كيفية حل مشكلة Global.[String] فى ملف Settings.Designer.vb الماجيك مسعد 2 45 أمس, 03:08 AM
آخر رد: الماجيك مسعد
  سؤال .. عن طريقة ادراج صورة من السكانر وطباعتها ناصر شير 0 31 أمس, 02:54 AM
آخر رد: ناصر شير
  [VB.NET] سؤال عن vb.net 2010 ناصر شير 5 62 أمس, 02:40 AM
آخر رد: ناصر شير
  [VB.NET] كيفية تنفيذ كود فى حدث معين على اى فورم فى المشروع ؟ الماجيك مسعد 5 111 19-02-17, 04:59 PM
آخر رد: الماجيك مسعد
  [VB.NET] كيفية الغاء شفافية زر (بوتون) ؟ + مرفق مشروع الماجيك مسعد 0 47 18-02-17, 03:32 PM
آخر رد: الماجيك مسعد
  سؤال حول تخزين الملفات abudawoodd 7 86 17-02-17, 11:59 PM
آخر رد: abudawoodd
Question [سؤال] كيفية عمل أسم مستخدم وكلمة مرور لبرنامج؟ refaat130 3 75 16-02-17, 08:10 PM
آخر رد: احمد مهران
  [VB.NET] سؤال بخصوص Next button Setup Factory dubai.eig 1 43 14-02-17, 07:23 PM
آخر رد: dubai.eig

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


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