Você já tentou usar .net para processamento de imagens? Em um projeto recente realizado pela empresa, muitas fotos de produtos foram armazenadas no banco de dados, mas nenhuma delas possuía informações de direitos autorais. Naquela época, o cliente exigia que todas as fotos fossem etiquetadas com o nome da empresa. Neste momento, o que você deve fazer?
Embora eu ainda seja um novato, ainda existem muitas soluções para este problema, que podem ser resumidas da seguinte forma:
1. Use software de processamento gráfico, como Photoshop, etc., e use sua função de processamento em lote para alcançar esta função, mas cada vez que o funcionário da entrada de dados acrescenta Se você quiser inserir fotos, terá que processá-las, o que é muito problemático. Vejo que o funcionário da entrada geralmente é muito gentil comigo e me cumprimenta com um sorriso todos os dias. dela? Este plano foi rejeitado.
2. Usando o processamento de imagem suave do .net, quando o funcionário da entrada carrega a imagem, ele adiciona automaticamente o logotipo da empresa. Não seria melhor? em 2005., faça como você diz.
usando System.Drawing;
usando System.IO;
usando System.Drawing.Imaging;
private void AddTextToImg(string fileName,string text)
{
if(!File.Exists(MapPath(nomedoarquivo)))
{
throw new FileNotFoundException("O arquivo não existe!");
}
if(texto == string.Vazio)
{
retornar;
}
//Você também precisa determinar se o tipo de arquivo é um tipo de imagem, que não será descrito aqui.
System.Drawing.Image image = System.Drawing.Image.FromFile(MapPath(fileName));
Bitmap bitmap = novo Bitmap(imagem,imagem.Largura,imagem.Altura);
Gráficos g = Graphics.FromImage(bitmap
float fontSize = 12.0f;
float textWidth = text.Length*fontSize; //O comprimento do texto
//Defina uma área retangular abaixo e desenhe um texto preto sobre um fundo branco neste retângulo
float rectX = 0;
float rectY = 0;
float rectWidth = text.Length*(fontSize+8);
float rectHeight = fontSize+8;
//Declara o domínio retangular
RectangleF textArea = new RectangleF(rectX,rectY,rectWidth,rectHeight);
Font font = new Font("宋体",fontSize);
Brush whiteBrush = new SolidBrush(Color.White); //Pincel branco, usado para desenhar texto
Brush blackBrush = new SolidBrush(Color.Black); //Pincel preto, desenhe o fundo com
,
rectY,rectWidth,rectHeight);
MemoryStream ms = novo MemoryStream();
//Salva como tipo Jpg
bitmap.Save(ms,ImageFormat.Jpeg);
//Exibe a imagem processada para facilitar a demonstração.
Response.Clear();
Response.ContentType = "imagem/jpeg";
Response.BinaryWrite( ms.ToArray() );
g.Dispose();
bitmap.Dispose();
imagem.Dispose();
}
A chamada é muito simples,
AddTextToImg("me.jpg","Xiao Zhi");
sinto que .net é realmente poderoso. Essas funções são produtos de luxo no Asp, mas podem ser executadas facilmente no Asp. Ambiente .Net Completo!