السلام عليكم
كيف حالكم ؟
انا عندي حقل من نوع ايمج يخزن الصور ... كيف اخلي الحقل يحفظ الصور بطول وعرض معين تلقائي؟؟
يعني مجرد ماارفع صورة للحقل .. يعرضها بطول وعرض محدد؟؟؟
هل فيه حل ؟
السلام عليكم
كيف حالكم ؟
انا عندي حقل من نوع ايمج يخزن الصور ... كيف اخلي الحقل يحفظ الصور بطول وعرض معين تلقائي؟؟
يعني مجرد ماارفع صورة للحقل .. يعرضها بطول وعرض محدد؟؟؟
هل فيه حل ؟
اخي من خاصيات الحقل حدد عرض و طول معينين
width و height
السلام عليكم
أختي الفاضله أم عبدالله
إذا قصدتي تخزين الصورة بأبعاد غير الأبعاد الأساسية للصورة الأصلية فهذا ممكن
وعشان أكون أكثر وضوح العملية راح تكون Resizing
ممكن قبل أن تقومي بتحويل الصورة الأصلية إلى byte[] ممكن تخزينها أو رسمها على Bitmap ولكن بالحجم المطلوب كما في المثال التالي
public Image ResizeImage(Image originalImage, Size newSize) {
Bitmap newImage = new Bitmap(newSize.Width, newSize.Height);
Graphics g = Graphics.FromImage((Image)newImage);
g.DrawImage(originalImage, 0, 0, newSize.Width, newSize.Height);
return (Image)b;
}لكن يجب الأخذ بعين الإعتبار أن جودة الصورة قد تقل نظرا لتلاعبنا بالأبعاد الأصلية للصورة وللحيلولة دون ذلك يجب علينا حساب العامل النسبي ما بين الطول الجديد والعرض الجديد عن طريق حساب الطول النسبي الناتج عن قسمة العرض الجديد على العرض القديم للصوره وقسمة الطول الجديد على الطول القديم للصورة ومن ثم المقارنه بينهما وأيهما الأصغر سيكون هو العامل النسبي للصورة. سنقوم بتغيير الكود أعلاه إلى
public Image ResizeImage(Image originalImage, Size newSize) {
float factor = 0f;
float pWidth = ((float)newSize.Width / (float)originalImage.Width);
float pHeight = ((float)newSize.Height / (float)originalImage.Height);
if(pWidth < pHeight) factor = pWidth;
else factor = pHeight;
int newWidth = (int)(originalImage.Width * factor);
int newHeight = (int)(originalImage.Height * factor);
Bitmap newImage = new Bitmap(newWidth, newHeight);
Graphics g = Graphics.FromImage((Image)newImage);
g.DrawImage(originalImage, 0, 0, newWidth, newHeight);
return (Image)b;
}أرجوا ان تكون الطريقة واضحة ومفيدة ودمتي في رعاية الله
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…