ASP.net 图片水印无效
ASP.net Image Watermark Not Working
我正在研究用另一张图片对一张图片进行水印标记,但我似乎不太正确。我正在使用图形库在照片上叠加水印图像。照片流对象稍后作为 jpg 图像上传到 Amazon S3。我去看图的时候,照片还在,但是没有水印。
我试过同时使用 DrawImage() 函数和 DrawText() 添加文本作为测试,但没有成功。这部分代码有什么问题吗?感谢您的帮助。
public Stream WatermarkImage(Stream img, Stream mark, ImageType type)
{
// watermark the image
using (Image result = Image.FromStream(img))
{
Image markImage = Image.FromStream(mark);
using (Graphics g = Graphics.FromImage(result))
{
// draw mark and get result
g.DrawImage(markImage, new Point(20, 20));
Stream markedResult = new MemoryStream();
result.Save(markedResult, ImageFormat.Jpeg);
// return image
return markedResult;
}
}
}
编辑: 我实际上发现这部分代码确实有效。我没有保存到 S3,而是保存到一个文件:
result.Save(@"C:\Users\Dan\Documents\Jobs\ZenPhotos\Test\test_watermark" + DateTime.Now.ToString("MM_dd_yyyy_HH_mm") + ".jpg");
保存的文件显示了带水印的图像。所以问题出在我上传到 S3 上并且无关。
看看Automatically add watermark to an image
您可以 return 一个流,而不是像示例所示那样将其保存到磁盘。
希望对您有所帮助。
Cloudinary allows you to manipulate your images on-the-fly using all kind of cool transformations capabilities including overlays & watermarks. See: http://cloudinary.com/blog/adding_watermarks_credits_badges_and_text_overlays_to_images
和:http://cloudinary.com/blog/transform_your_image_overlays_with_on_the_fly_manipulation
我正在研究用另一张图片对一张图片进行水印标记,但我似乎不太正确。我正在使用图形库在照片上叠加水印图像。照片流对象稍后作为 jpg 图像上传到 Amazon S3。我去看图的时候,照片还在,但是没有水印。
我试过同时使用 DrawImage() 函数和 DrawText() 添加文本作为测试,但没有成功。这部分代码有什么问题吗?感谢您的帮助。
public Stream WatermarkImage(Stream img, Stream mark, ImageType type)
{
// watermark the image
using (Image result = Image.FromStream(img))
{
Image markImage = Image.FromStream(mark);
using (Graphics g = Graphics.FromImage(result))
{
// draw mark and get result
g.DrawImage(markImage, new Point(20, 20));
Stream markedResult = new MemoryStream();
result.Save(markedResult, ImageFormat.Jpeg);
// return image
return markedResult;
}
}
}
编辑: 我实际上发现这部分代码确实有效。我没有保存到 S3,而是保存到一个文件:
result.Save(@"C:\Users\Dan\Documents\Jobs\ZenPhotos\Test\test_watermark" + DateTime.Now.ToString("MM_dd_yyyy_HH_mm") + ".jpg");
保存的文件显示了带水印的图像。所以问题出在我上传到 S3 上并且无关。
看看Automatically add watermark to an image
您可以 return 一个流,而不是像示例所示那样将其保存到磁盘。
希望对您有所帮助。
Cloudinary allows you to manipulate your images on-the-fly using all kind of cool transformations capabilities including overlays & watermarks. See: http://cloudinary.com/blog/adding_watermarks_credits_badges_and_text_overlays_to_images
和:http://cloudinary.com/blog/transform_your_image_overlays_with_on_the_fly_manipulation