توليد صور مصغرات Thumbnails في الـ ASP.NET

30 يوليه 2017     252 مشاهدة    0 تعليق
تم النشر في #Thumbnails  # Image Processing 

اليوم سوف نتطرق إلى كيفية توليد صور مصغرات Thumbnails في الـ ASP.NET.

من المعلوم أن الكثير منا قد يحتاج إلى رفع صور في المواقع التي يتم بناءها. المشكلة التي قد تظهر في أغلب الأحيان هي عندما يتم رفع صوره بحجم كبير ودقه عاليه, لغرض عرضها في جميع الصفحات المراد عرض الصوره فيها. فالمشكله التي ستنتج عند إستخدامنا الأسلوب السابق هي بطء في تحميل الصوره خصوصاً في الأماكن التي يتم عرض صوره مصغره.

لحل المشكلة السابقه يمكننا توليد صور مصغرات عند رفع الصور المراد إستخدامها, ومن ثم إستخدامها في المكان الذي يجب عرض الصوره المصغره, أما في المكان المراد عرض الصوره الكبيره يمكننا إستخدام الصوره الأصلية.

لنقوم بكتابة إجراء يقوم بتوليد الصوره المصغره

Private Sub GenerateThumbnail(ByVal data As Byte(), ByVal Optional width As Integer = 200)
    Using ms = New MemoryStream(data)
        Using img = Drawing.Image.FromStream(ms, True, True)
            Dim x As Integer = img.Width
            Dim y As Integer = img.Height
            Dim height As Integer = width * y / x
            Using thumb = img.GetThumbnailImage(width, height, Function() False, IntPtr.Zero)
                thumb.Save(Path) ' Image path could be generated or come from FileUpload
            End Using
        End Using
    End Using
End Sub

كما هو ملاحظ أعلاه تم تمرير الصوره كبايتات ومن ثم إنشاء صورة مصغره بإستخدام الداله GetThumbnailImage() الموجوده في الفئة Image.

وبعدها سنقوم بإستدعاء الإجراء السابق عند نقر زر رفع الصورة.

GenerateThumbnail(fuImage.FileBytes)

للمعلومية عرض الصوره المصغره 200 بكسل, لكن يمكنك تغييره حسب متطلباتك وذلك بتمرير القيمه الثانيه في الإجراء GenerateThumbnail().

تويتر فيسبوك قوقل + لينكد إن


اكتب تعليقك