aspjpeg é um componente de processamento de imagem muito poderoso, versão em inglês puro. No entanto, já existem versões gratuitas e versões crackeadas, mas não existem muitos artigos que as apresentem em detalhes e profundidade. Mesmo que existam, envolvem apenas miniaturas e marcas d’água de imagens. Talvez seja porque está em inglês puro.
Usando aspjepg você pode fazer principalmente:
Miniatura da imagem
Marca d'água de imagem
tecnologia de código de segurança
Corte de imagem
Mesclagem de imagens
Suporte de banco de dados
1. Miniaturas de imagens.
Confira as fotos processadas.
2. Marca d'água de imagem.
.
3. Código de segurança
.
O princípio do Ping An Ma é semelhante ao de adicionar uma marca d’água.
.
Imagem do código de segurança gerado.
4. Corte de imagem
.
Por muito tempo, quem não conhece o aspjpeg pensava que não poderia usá-lo para cortar.
Na verdade, existe tal método
cortar x1,y1,x2,y2
Corte a coordenada x do canto superior esquerdo do retângulo e a coordenada y do canto inferior direito do retângulo.
Vou dar uma demonstração abaixo.
DefinirJpeg =
Servidor.CreateObject(Persits.Jpeg)
jpeg.open server.MapPath(/pic/1.gif)
jpeg.largura=70
Jpeg.Altura = Jpeg.OriginalHeight*70 / jpeg.Originawidth
jpeg.crop 0,0,70,52 Começar a cortar é na verdade remover a parte inferior que ultrapassa os 52 pixels.
jpeg.save
server.MapPath(/temp_pic/small_1.gif) Salvar
5. Mesclagem de imagens
.
Aqui vamos adicionar a imagem do logotipo à imagem dodge_viper.jpg
Definir foto =
Servidor.CreateObject(Persits.Jpeg)
PhotoPath = Server.MapPath(imagens)
& /dodge_viper.jpg
Foto.Abrir PhotoPath
Definir logotipo =
Servidor.CreateObject(Persits.Jpeg)
LogoPath = Server.MapPath(imagens)
& /relógio.jpg
Logo.Abra LogoPath .
Logotipo.Largura = 70
Logo.Height = Logo.Width * Logo.OriginalHeight / Logo.OriginalWidth
.
Photo.DrawImage 0, 0, Logotipo .
Foto.SendBinary
O método de saída sendBinary é usado aqui. Claro, você também pode salvar o dodge_viper.jpg alterado primeiro e depois inseri-lo. Pessoalmente, não gosto de usar o método sendBinary porque ele está sujeito a erros quando a velocidade da rede é lenta. Também não muito em termos de velocidade.
6. Suporte de banco de dados
.
Não há muito a dizer aqui. Na verdade, é o método binário. Como todos sabemos, as imagens só podem ser armazenadas como arquivos binários quando armazenadas no banco de dados. Portanto, o código foi escrito preguiçosamente. .
7. Introdução a mais métodos
.
Canvas.Line (Esquerda, Superior, Direita, Inferior)
desenhe uma linha reta
Canvas.Ellipse (Esquerda, Superior, Direita, Inferior)
desenhe uma elipse
Tela.Círculo(X, Y,
Raio)
desenhe um círculo
Canvas.Bar (Esquerda, Superior, Direita, Inferior)
Desenhe um retângulo com o código introduzido nele
Canvas.Font.ShadowColor
cor da sombra do texto
Canvas.Font.ShadowXOffset tão longo
Configuração da coordenada Shadow X
Canvas.Font.ShadowYOffset tão longo
Configuração da coordenada Y
Canvas.Font.BkMode como string
fundo do texto.
'//------Pollener.com Visualização do componente AspJpeg e geração de marca d'água------Iniciar------
'Criar imagem de visualização: chamada
CreateView (caminho para o arquivo original, nome e caminho do arquivo de visualização)
Sub
CreateView(nome da imagem, nome do arquivo temp)
'Definir variáveis.
Escurecer
PreviewImageFolderName
Dim ogvbox,objFont
Escurecer Logobox, LogoPath
LogoPath
= Server.MapPath(imagens) & /shuiyin.gif
'//Adicione o caminho e o nome do arquivo da imagem (o meu é forum/images/shuiyin.gif).
Selecione o caso
upload_ViewType
Caso
0
'---------------------CreatePreviewImage---------------
setogvbox =
Servidor.CreateObject(CreatePreviewImage.cGvbox)
ogvbox.SetSavePreviewImagePath=Server.MapPath(tempFilename)
'Visualizar caminho de armazenamento de imagens.
ogvbox.SetPreviewImageSize =SetPreviewImageSize
'Pré-visualização da largura.
ogvbox.SetImageFile = trim(Server.MapPath(nome da imagem))
'O caminho físico do arquivo original de imagename.
'Crie um arquivo de imagem de visualização.
Se
ogvbox.DoImageProcess=false Então
Response.write gera erro de imagem de visualização:&
ogvbox.GetErrString
Terminar se
Caso
1
'---------------------AspJpegV1.2--------------
Definir logobox =
Servidor.CreateObject(Persits.Jpeg)
'//É recomendado não usar marcas d'água de imagem e texto ao mesmo tempo. Este código usa marcas d'água de imagem.
Logobox.Abrir
LogoPath '//Lê a imagem adicionada.
'//Redefinir o tamanho da imagem.
Logobox.Largura = 186
'//Valor da largura (pixels) da imagem usada como marca d'água.
Logobox.Altura = 52
'//Valor da altura (pixels) da imagem usada como marca d'água.
'//Adiciona marca d'água.
Definir ogvbox=
Servidor.CreateObject(Persits.Jpeg)
'//Lê o arquivo original a ser processado.
ogvbox.Open
Trim(Server.MapPath(nome da imagem))
If ogvbox.OriginalWidth e FileExtgif Then '//Se você alterar esta linha para IF
Modo de imagem
Em seguida, você também pode adicionar marcas d'água às imagens GIF enviadas, mas esses GIFs animados terão apenas o primeiro quadro após adicionar a marca d'água.
'//Sobre alterar a fonte e a cor do texto.
'//ogvbox.Canvas.Font.Color
= &H0000FF '//A cor do texto da marca d'água, insira o valor da cor após &H.
'//ogvbox.Canvas.Font.Size =
18 '//O tamanho do texto da marca d'água.
'//ogvbox.Canvas.Font.Family = Arial
'//O nome da fonte do texto da marca d'água.
'//ogvbox.Canvas.Font.ShadowColor = &H000000
'//A cor da sombra do texto da marca d'água.
'//ogvbox.Canvas.Font.ShadowXoffset = 1
'//O valor do pixel da sombra do texto da marca d'água deslocado para a direita. Insira um valor negativo para deslocar para a esquerda.
'//ogvbox.Canvas.Font.ShadowYoffset = 1
'//O valor do pixel pelo qual a sombra do texto da marca d'água é deslocada para baixo. Se você inserir um valor negativo, ele será deslocado para a direita.
'//ogvbox.Canvas.Font.Quality = 3
'//A clareza do texto da marca d'água varia de 0 a 4. A alteração não é muito grande. Recomenda-se usar 2 ou 3.
'//ogvbox.Canvas.Font.Bold = Verdadeiro
'//Se o texto da marca d'água está em negrito, True=bold False=normal.
'ogvbox.Canvas.Print 10, 10,
ImageMode '//Coordenadas iniciais (pixels) do texto da marca d'água.
ogvbox.Canvas.Pen.Color =
&H000000 '//A cor da borda da imagem após adicionar a marca d'água.
ogvbox.Canvas.Pen.Width = 1
'//Aumenta a largura da borda da imagem após a marca d'água.
ogvbox.Canvas.Brush.Solid = Falso
'//Se a borda estiver preenchida com cor, você pode tentar ver o efeito quando o valor for True^o^
ogvbox.DrawImage ogvbox.largura-186,
ogvbox.height-52, Logobox, 0,5 '//As coordenadas iniciais da imagem da marca d'água, aqui está ogvbox.width-186,
ogvbox.height-52 significa que a imagem está no canto inferior direito Porque a largura da minha imagem é 186 e a altura é 52, então se você escrever assim, poderá ajustá-la de acordo com sua própria imagem. 0,5 significa transparência, aqui quero dizer translucidez, 1 significa opacidade, você também pode tentar 0,7 ou 0,8 para ver o efeito.
ogvbox.Canvas.Bar
0, 0, ogvbox.Largura, ogvbox.Altura
'//Gama disponível de marca d'água. O que quero dizer aqui é que a marca d'água pode ser adicionada em qualquer lugar, do canto superior esquerdo ao canto inferior direito de toda a imagem.
ogvbox.Salvar
Server.MapPath(imagename) '//Gera o arquivo de imagem com marca d'água adicionada com base nos parâmetros acima.
Fim
Se
ogvbox.Width = Largura da imagem
ogvbox.height =
Altura da imagem
'ogvbox.height =
ogvbox.OriginalWidth*ImageWidth/ogvbox.OriginalWidth
ogvbox.Nitidez 1, 120
ogvbox.Salvar
Server.MapPath(tempFilename) '//Gera uma imagem de visualização da imagem após adicionar marca d'água.
Fim
Se
Definir Logobox=Nada
'//------Pollener.com
Pré-visualização e geração de marca d'água do componente AspJpeg ------Fim-----