davoodipoor
شنبه 03 تیر 1391, 11:21 صبح
با سلام به همه دوستان
من یک سری عکس توی صفحم دارم که در دیتابیس ذخیره شدن و از آن خونده میشن. حالا می خوام عکسهام رو بچرخونم و با کد زیر این کار رو کردم.
Bitmap bmp = null;
Sharin.Data.ArchiveImage sd = Sharin.Data.ArchiveImage.Get(this.ArchiveID);
bmp = ConvertToBitmap(sd.Image);
System.Drawing.Image ss = (System.Drawing.Image)bmp;
ss.RotateFlip(RotateFlipType.Rotate90FlipNone);
ArchiveImage.Update(this.ArchiveID, imageToByteArray(ss));
ss.Dispose();
ولی مشکلی که وجود داره اینه که بعد از چرخوندن عکس کیفیت آن کم میشه.
من این کدهارو برای حفظ کیفیت آن پیدا کردم ولی نمی دونم چطور باید این کدها رو با نمونه خودم مچ کنم چون در این نمونه از Image.Save استفاده شده ولی من متد Update کلاس ImageArchive ام رو فراخوانی می کنم.
لطفا اگه کسی می دونه به من کمک کنه.
using (Image image = Image.FromFile("C:\\source.jpg")) {
ImageFormat sourceFormat = image.RawFormat;
image.RotateFlip(RotateFlipType.Rotate90FlipNone);
EncoderParameters encoderParams = null;
try {
if (sourceFormat == ImageFormat.Jpeg) {
encoderParams = new EncoderParameters(1);
encoderParams.Param[0] = new EncoderParameter(Encoder.Quality, 100L);
}
image.Save("C:\\target.jpg", GetEncoder(sourceFormat), encoderParams);
} finally {
if (encoderParams != null)
encoderParams.Dispose();
}
}
من یک سری عکس توی صفحم دارم که در دیتابیس ذخیره شدن و از آن خونده میشن. حالا می خوام عکسهام رو بچرخونم و با کد زیر این کار رو کردم.
Bitmap bmp = null;
Sharin.Data.ArchiveImage sd = Sharin.Data.ArchiveImage.Get(this.ArchiveID);
bmp = ConvertToBitmap(sd.Image);
System.Drawing.Image ss = (System.Drawing.Image)bmp;
ss.RotateFlip(RotateFlipType.Rotate90FlipNone);
ArchiveImage.Update(this.ArchiveID, imageToByteArray(ss));
ss.Dispose();
ولی مشکلی که وجود داره اینه که بعد از چرخوندن عکس کیفیت آن کم میشه.
من این کدهارو برای حفظ کیفیت آن پیدا کردم ولی نمی دونم چطور باید این کدها رو با نمونه خودم مچ کنم چون در این نمونه از Image.Save استفاده شده ولی من متد Update کلاس ImageArchive ام رو فراخوانی می کنم.
لطفا اگه کسی می دونه به من کمک کنه.
using (Image image = Image.FromFile("C:\\source.jpg")) {
ImageFormat sourceFormat = image.RawFormat;
image.RotateFlip(RotateFlipType.Rotate90FlipNone);
EncoderParameters encoderParams = null;
try {
if (sourceFormat == ImageFormat.Jpeg) {
encoderParams = new EncoderParameters(1);
encoderParams.Param[0] = new EncoderParameter(Encoder.Quality, 100L);
}
image.Save("C:\\target.jpg", GetEncoder(sourceFormat), encoderParams);
} finally {
if (encoderParams != null)
encoderParams.Dispose();
}
}