تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] الحصول علي صورة بمقاس معين وجودة معينة من داخل ايقونة
#1
Question 
السلام عليكم
الحصول علي صورة بمقاس معين وجودة معينة من داخل ايقونة
مثال مقاس 16X16 جودة 32bt
وجزاكم الله خيرا
الرد }}}
تم الشكر بواسطة:
#2
ربما فهمت قصدك وربما لم افهم Angel

هل تقصد الي في بالي ؟؟

اقصد مثل هالصورة يعني :

الرد }}}
تم الشكر بواسطة:
#3
لا طبعا المصابيح اكثر منها مفيش ههههههه
-----
قمت بجلب ايقونة ملف عن طريق
System.Drawing.Icon.ExtractAssociatedIcon
طيب شوف الموضوع ده هتفهم قصدي
الان وبعد جلب الايقونة اريد جلب صورة معينة منها لوضعها في ImageList وعرضها في ListView
الرد }}}
تم الشكر بواسطة:
#4
إقتباس :الان وبعد جلب الايقونة اريد جلب صورة معينة منها لوضعها في ImageList وعرضها في ListView

بعد مافهمت .. ماهو كانت صورة المصباح داخل ايقونة


ولا انت تقصد تحويل الايقونة الى صورة ؟؟
الرد }}}
تم الشكر بواسطة:
#5
اخي محمد



الايقونة عبارة عن مجموعة من الصور باحجام وجودة مختلفة اريد جلب احدي الصور منها
الرد }}}
تم الشكر بواسطة:
#6
يعني تبي تحول ايقونة الى صورة (مقاس محدد + جودة محددة)

اذن ليش اللف والدوران .. لكن مو مشكلة خانك التعبير Big Grin


لكن انا ارى ان المثال الي انت جبته كان ممتاز وين المشكلة ؟؟


الرد }}}
تم الشكر بواسطة: ali.alfoly
#7
هذا النوع من الصور غالبا بيكون من النوع ـjpeg و يكون فيها أكثر من Frame مثل الصورة المتحركة ..و بمعني أدق أكثر Jpeg من النوع هذا تكون بمثابة صورة من النوع Tiff أو multi_Page image

و لا ستخلاص الصور الموجودة في هذا النوع من الصور

اعتقد هذه الدالة سوف تفيدك ...و كل ما عليك هو أن تحدد مسار الصورة و الدالة ستقوم ب الباقي و تحفظ الصور ف نفس المسار و بنفس الاسم + رقم الصورة


كود :
Public Function TiffToJpeg(fileName As String) As String()
        Using imageFile As Image = Image.FromFile(fileName)
            Dim frameDimensions As New FrameDimension(imageFile.FrameDimensionsList(0))

            ' Gets the number of pages from the image (if multi-page image)
            Dim frameNum As Integer = imageFile.GetFrameCount(frameDimensions)
            Dim jpegPaths As String() = New String(frameNum) {}

            Dim frame As Integer = 0
            While frame < frameNum
                ' Selects one frame at a time and save as jpeg.
                imageFile.SelectActiveFrame(frameDimensions, frame)
                Using bmp As New Bitmap(imageFile)
                    jpegPaths(frame) = String.Format("{0}\{1}{2}.jpeg",
                                       Path.GetDirectoryName(fileName),
                                       Path.GetFileNameWithoutExtension(fileName), frame)
                    bmp.Save(jpegPaths(frame), ImageFormat.Jpeg)
                End Using
                frame -= 1
            End While

            Return jpegPaths
        End Using
الرد }}}
تم الشكر بواسطة: الشاكي لله , ali.alfoly , kslawy
#8
جزاكم الله خيرا اخواني الشاكي لله واخي silverlight
اسف لعدم التعبير المضبوط كل يوم نتعلم
بالنسبة لي بحث كثيرا اكثر من ساعتين مما جعلني اضطر لكتابة السؤال
عندي الان متغير من نوع System.Drawing.Icon يحمل بداخله الايقونة
اريد استخراج صورة من احدي الصور الموجودة داخل الايقونة مثلا في حالتي الان 16X16 جودة 32bt
المثال السابق اخي محمد فعلا يفي بالغرض لاكني بحثن فيه كثيرا معرفتش اوصل للدالة المطلوبة
الرد }}}
تم الشكر بواسطة:
#9
اسف مثلا
تحول ايقونة الى صورة (مقاس محدد + جودة محددة)
الرد }}}
تم الشكر بواسطة:
#10
استخدم الاكواد التالية و ان شاء الله لن تجد صعوبة في بناء ايقونة

كود :
Imports System.Drawing.Imaging
Imports System.Drawing.Drawing2D

Namespace RiverNile

    Public NotInheritable Class BitmapToIcon

        Private Sub New()
        End Sub

        Public Shared Function Format32bppArgbCopy(sourceBitmap As Bitmap) As Bitmap
            Dim copyBitmap As New Bitmap(sourceBitmap.Width, sourceBitmap.Height, PixelFormat.Format32bppArgb)
            Using graphicsObject As Graphics = Graphics.FromImage(copyBitmap)
                graphicsObject.CompositingQuality = CompositingQuality.HighQuality
                graphicsObject.InterpolationMode = InterpolationMode.HighQualityBicubic
                graphicsObject.PixelOffsetMode = PixelOffsetMode.HighQuality
                graphicsObject.SmoothingMode = SmoothingMode.HighQuality
                graphicsObject.DrawImage(sourceBitmap, New Rectangle(0, 0, sourceBitmap.Width, sourceBitmap.Height), New Rectangle(0, 0, sourceBitmap.Width, sourceBitmap.Height), GraphicsUnit.Pixel)
            End Using
            Return copyBitmap
        End Function

        Public Shared Function CopyToSquareCanvas(sourceBitmap As Bitmap, canvasBackground As Color) As Bitmap
            Dim maxSide As Integer = If(sourceBitmap.Width > sourceBitmap.Height, sourceBitmap.Width, sourceBitmap.Height)
            Dim bitmapResult As New Bitmap(maxSide, maxSide, PixelFormat.Format32bppArgb)
            Using graphicsResult As Graphics = Graphics.FromImage(bitmapResult)
                graphicsResult.Clear(canvasBackground)
                Dim xOffset As Integer = (sourceBitmap.Width - maxSide) \ 2
                Dim yOffset As Integer = (sourceBitmap.Height - maxSide) \ 2
                graphicsResult.DrawImage(sourceBitmap, New Point(xOffset, xOffset))
            End Using
            Return bitmapResult
        End Function

        Public Shared Function CreateIcon(sourceBitmap As Bitmap, iconSize As IconSizeDimensions) As Icon
            Dim squareCanvas As Bitmap = CopyToSquareCanvas(sourceBitmap, Color.Transparent)
            squareCanvas = DirectCast(squareCanvas.GetThumbnailImage(CInt(iconSize), CInt(iconSize), Nothing, New IntPtr()), Bitmap)
            Dim iconResult As Icon = Icon.FromHandle(squareCanvas.GetHicon())
            Return iconResult
        End Function

    End Class

    Public Enum IconSizeDimensions
        IconSize16x16Pixels = 16
        IconSize24x24Pixels = 24
        IconSize32x32Pixels = 32
        IconSize48x48Pixels = 48
        IconSize64x64Pixels = 64
        IconSize96x96Pixels = 96
        IconSize128x128Pixels = 128
    End Enum

End Namespace
الرد }}}
تم الشكر بواسطة: kslawy


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  تعديل كود ارسال صورة الى الواتس new_programer 2 114 21-03-24, 10:07 PM
آخر رد: new_programer
  تعديل طول حقل معين في جميع جداول القاعدة atefkhalf2004 1 97 09-03-24, 03:17 AM
آخر رد: atefkhalf2004
  كيفية جمع أرقام عمود فى الداتا جريد فيو بناءاً على بيانات معينة heem1986 5 225 25-02-24, 11:26 PM
آخر رد: heem1986
  الحذف للسجل بشروط معينة محمد خيري 4 362 05-01-24, 04:46 AM
آخر رد: محمد خيري
  [سؤال] كيفية انشاء فورم داخل مشروعى عاصم النجار 2 305 05-01-24, 12:36 AM
آخر رد: HALIM ELEULMA
  حماية عمود داخل ورقة الاكسل العيدروس 3 190 05-01-24, 12:21 AM
آخر رد: HALIM ELEULMA
Lightbulb [VB.NET] إطهار الصورة بمقاس معين في DataGridView أبو خالد الشكري 2 323 14-12-23, 03:01 PM
آخر رد: أبو خالد الشكري
  هل الداتا قراد فيو تسمح بتعدد الاسطر داخل الخلية عند جلب بيانات نصية طويله من قاعدة ب khalidalwdi 3 461 10-11-23, 11:08 AM
آخر رد: khalidalwdi
  كيف اجعل البرنامج في بداية الشهر ينفذ حدث معين بالاصح اريد البرنامج في تاريخ واحد من Adel27213 3 484 05-11-23, 01:45 AM
آخر رد: justforit
  كيفية جمع قيمة على تاريخ معين واستنتاج تاريخ أخر Ahmed.vb 1 317 02-11-23, 03:52 AM
آخر رد: Taha Okla

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


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