باسلام من asp.net کار میکنم..میخوام رو عکسی که دارم و با دادن مسیر عکس واترمارک بزنم نه اینکه درحین آپلود بزنم
مرسی از لطفتون
حالا چه جوری میتونم کد رو جوری تغییر بدم که لوگو گوشه پایین قسمت راست قرار بدم
در کدها Position قرار گیری واتر مارک مشخص هست
با تغییر اون عدد میتونید به مورد دلخواه برسید
خب در عکس های با سایز مختلف عوض میشه..من میخام بهش بگم که همپشه پایین سمت راست قرار بگیر
لطف کنید جواب بدین بنده به این کد شدیدا نیاز دارم
از کدام مقاله استفاده کردید ؟
و هنگام استفاده این خطا را دارم
A generic error occurred in GDI+.
من با کد زیر انجام میدم کا بالا ئ سمت راست قرار میگیره
1 -
Image oImage="path"; var oheight=oImage.Height; var oWidth=oImage.width;
2 -
var WmImage="path"; var wWheight=WmImage.Height; var wWidth=WmoImage.width;
3 -
var left=oWidth-wWidth-10; var top=oheight-10; //draw the wate mark image on thse point oImage.DrawImage(imgWatermark,new Rectangle(left,top,wmWidth, wmHeight),0,0,wmWidth,wmHeight,GraphicsUnit.Pixel,imageAttributes);
دست شما درد نکنه واقغا مفید بود
یه سوا ل
ما برای درج واترمارک به دو مسیر نیاز داریم .مسیر اول عکسی که میخایم واترمارک داشته باشه و مسیر دوم عکسی که واتر مارک درش درج شده.
حالا من نمیخوام دو تا مسیر داشته باشم و میخوام عکسی که واترمارک خورده جایگزین عکس اولی بشه
خیلی متشکر از پاسخ های مفیدتون
چون تصویر اول در حال استفاده است نمیذاره overide کنید
تصویر دوم را ذخیره کنید و سپس تصویر اول را حذف کنید
مرسی از پاسختون
منم الان همین کارو انجام دادم ولی بعد ذخیره تصویر دوم بازم تصویر اول حذف نمیشه..یا فکر کنم هنوز در حال استفاده است
using (Bitmap bmp = new Bitmap(img1, new Size(668, 380)))
{
using (Graphics grp = Graphics.FromImage(bmp))
{
System.Drawing.Image img2 = (Bitmap)System.Drawing.Image.FromFile(YourLogo);
grp.DrawImage(img2, new Point(220, 310));
using (MemoryStream memoryStream = new MemoryStream())
{
bmp.Save(PicAfter, ImageFormat.Jpeg);
bmp.Dispose();
string ImageUrl = Server.MapPath(".") + url1;
if (System.IO.File.Exists(ImageUrl))
{
File.Delete(HttpContext.Current.Server.MapPath("~\\Images\\PicNews\\" + filename + ".jpg"));
}
}
}
}
باید بعد از عملیات bmp را Dispose کنید و بعد حذف کنید
دقیقا همین کارو کردم بالا در کد هم مشاهده میکنید ولی بازم خطا میده
The process cannot access the file................
because it is being used by another
مرررررررررررررررسی از راهنمایی های قوق العاده قدرتمندتون واقعا شما افتخار ما برنامه نویس ها هستین
مششششششششششششششششششکلم رو حل کردین
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)