Вы пробовали использовать .net для обработки изображений? В недавнем проекте, реализованном компанией, в базе данных хранилось множество изображений продуктов, но ни одно из них не имело информации об авторских правах. В то время клиент потребовал, чтобы все изображения были помечены названием компании. Что вам следует делать в это время?
Хотя я все еще новичок, существует еще много решений этой проблемы, которые можно резюмировать следующим образом:
1. Используйте программное обеспечение для обработки графики, такое как Photoshop и т. д., и используйте его функцию пакетной обработки для достижения этой функции, но каждый время, когда добавляет служащий по вводу данных. Если вы хотите ввести фотографии, вам придется их обработать, что очень хлопотно. Я вижу, что служащий по вводу обычно очень любезен со мной и каждый день приветствует меня с улыбкой. Могу ли я вынести пытки. ее? Этот план был отклонен.
2. Благодаря плавной обработке изображений .net, когда кассир загружает изображение, он автоматически добавляет логотип компании. Разве это не хорошая идея? Его можно отнести к 10 000 лучших решений. в 2005г., просто делай как говоришь.
использование System.Drawing;
использование System.IO;
использование System.Drawing.Imaging;
Private void AddTextToImg (строковое имя файла, строковый текст)
{
if(!File.Exists(MapPath(имя_файла)))
{
throw new FileNotFoundException("Файл не существует!");
}
если (текст == строка.Пусто)
{
возвращаться;
}
//Вам также необходимо определить, является ли тип файла типом изображения, который здесь не будет описываться.
System.Drawing.Image image = System.Drawing.Image.FromFile(MapPath(fileName));
Растровое изображение = новое растровое изображение (изображение, изображение. Ширина, изображение. Высота);
Графика g = Graphics.FromImage(растровое изображение);
float FontSize = 12.0f // Размер шрифта;
float textWidth = text.Length*fontSize //Длина текста;
//Определяем прямоугольную область ниже, а затем рисуем в этом прямоугольнике черный текст на белом фоне
плавающий прямоугольник = 0;
плавающий rectY = 0;
float rectWidth = text.Length*(fontSize+8);
float rectHeight = FontSize+8;
//Объявляем прямоугольный домен
RectangleF textArea = new RectangleF(rectX,rectY,rectWidth,rectHeight);
Шрифт шрифта = новый шрифт("宋体",fontSize); //Определить шрифт;
Кисть whiteBrush = new SolidBrush(Color.White); //Белая кисть, используется для рисования текста;
Brush blackBrush = new SolidBrush(Color.Black); //Черная кисть, рисуем фон с помощью
g.FillRectangle(blackBrush,rectX,rectY,rectWidth,rectHeight);
g.DrawString(text,font,whiteBrush,textArea);
MemoryStream мс = новый MemoryStream();
//Сохраняем в формате Jpg
bitmap.Save(ms,ImageFormat.Jpeg);
//Выводим обработанное изображение. Для удобства демонстрации вывожу изображение на страницу.
Ответ.Очистить();
Response.ContentType = "изображение/jpeg";
Response.BinaryWrite( ms.ToArray() );
g.Dispose();
растровое изображение.Dispose();
изображение.Dispose();
}
Вызов очень простой:
AddTextToImg("me.jpg","Xiao Zhi");
все в порядке. Я считаю, что .net — это действительно мощный инструмент в Asp, но их можно легко реализовать в Asp. .Net-среда завершена!