الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال حول اظهار الصور بالموقع بجودة عالية

بدأه عماد خطيب في 17 ديسمبر 2011 · 4 رد · 430 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

عندي موقع مبني في لغات asp.net + vb.net

الموقع هو موقع اسلامي واخباري ويشمل الكثير من الصور

المشكله ان الصور في الكثير من الاحيان لا تبدو واضحه لذلك كتبت كود الذي يعمل حساب ارتفاع وعرض الصورة الاصلية وحسب هذا يعطيني الحجم المطلوب

لكن هذا الحل يعمل في اماكن عادية , اما عند استعمالي repeater مثلا , تخرج كل صورة بحجم مختلف لانه كل صوره لها حجم اصلي مختلف .

هل يوجد كود جاهز للتغلب على هذه المشكله ؟

وبارك الله فيكم

Web Development
Imad M.Khatib
Asp.net , Ajax , MSSQL , VB.Net , C#.Net , Xml , DomHtml , JQuery , JavaScript , Json , LINQ

imad.khatib@hotmail.com

#2

السلام عليكم ورحمه الله وبركاته

اخي قم بضبط خاصية العرض والارتفاع في الصورة الموجودة في الـ Repeater

.:: Wish to become better and better ::.

#3

السلام عليكم

هذا موجود في ال repeater ,

انا قصدت ان جودة الصور سيئة حتى عندما يكونو كلهم نفس الارتفاع والعرض لان الصورة الاصليه التي تم الحساب عليها يختلف حجمها من واحده لاخرى

السؤال ليس سهلا وانا ادرك ذلك

لاحظ فقط للافادة ماذا فعلت لاتغلب على المشكلة :

Try
            OriginalImage = System.Drawing.Image.FromFile(fileNameFullPath)
            Dim originalWidth As Integer = OriginalImage.Width
            Dim originalHeight As Integer = OriginalImage.Height
            Dim newWidth As Integer
            Dim newHeight As Integer


            If (CInt(size) > originalWidth AndAlso CInt(size) > originalHeight) Then
                'If desired size is bigger than original than don't enlarge
                newWidth = originalWidth
                newHeight = originalHeight
            Else
                If (originalWidth = originalHeight) Then
                    newWidth = CInt(size)
                    newHeight = CInt(size)
                Else
                    If (originalWidth > originalHeight) Then
                        Dim persent As Decimal = ((CDec(100) / (CDec(originalWidth)) * CDec(size)))
                        newWidth = CInt(size)
                        newHeight = CInt((CDec(originalHeight) * (persent / 100)))
                    Else
                        Dim persent As Decimal = (CDec(100) / (CDec(originalHeight)) * CDec(size))
                        newHeight = CInt(size)
                        newWidth = CInt((CDec(originalWidth * (persent / 100))))
                    End If
                End If
            End If
            If (File.Exists(fileNameWithSizeFullPath) = False) Then

                Dim b As Bitmap = New Bitmap(newWidth, newHeight)
                Dim g As Graphics = Graphics.FromImage(CType(b, System.Drawing.Image))
                g.CompositingQuality = CompositingQuality.Default
                g.InterpolationMode = InterpolationMode.Low
                g.DrawImage(OriginalImage, 0, 0, newWidth, newHeight)
                g.Dispose()



                Dim quality As Integer = 70
                Dim qualityParam As EncoderParameter = New EncoderParameter(System.Drawing.Imaging.Encoder.Quality, quality)
                Dim jpegCodec As ImageCodecInfo = GetEncoderInfo("image/jpeg")
                Dim encoderParams As EncoderParameters = New EncoderParameters(1)
                encoderParams.Param(0) = qualityParam
                b.Save(fileNameWithSizeFullPath, jpegCodec, encoderParams)

                b.Dispose()
            End If
        Catch ex As Exception
            SendEmptyImage(context)
        End Try

        OriginalImage.Dispose()
        SendImage(context, fileNameWithSizeFullPath)

لكن هذا الكود ملائم عندما لا يهمنا الحجم في repeater مثلا وانما عندما نريد اظهار صورة بجوده عالية اعتمادا على اصلها

لذلك كان سؤالي اذا كان هنالك كود يتعامل مع كل الامكانيات

تم تعديل هذه المشاركة بواسطة عماد خطيب في 18 ديسمبر 2011 في 13:19

Web Development
Imad M.Khatib
Asp.net , Ajax , MSSQL , VB.Net , C#.Net , Xml , DomHtml , JQuery , JavaScript , Json , LINQ

imad.khatib@hotmail.com

#4

السلام عليكم ورحمه الله وبركاته

طيب اخي ليش ما تعدل الكود بحيث يقوم بضبط ابعاد الصور الى ارتفاع وعرض موحد للكل؟

.:: Wish to become better and better ::.

#5

هذا ما اقوله ان هذا لم انجح به

لان كل صورة لها حجم اصلي مختلف وسيكون لها حجم جديد مختلف ولا يتلائم مع باقي الصور والكلام هنا عن repeater

سانجح بعون الله

Web Development
Imad M.Khatib
Asp.net , Ajax , MSSQL , VB.Net , C#.Net , Xml , DomHtml , JQuery , JavaScript , Json , LINQ

imad.khatib@hotmail.com

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…