Ir para conteúdo
Fórum Script Brasil
  • 0

Redimensionar Imagem


heltonritter

Pergunta

Bom dia amigos.

Sou meio que novato em asp.net, uso Delphi 2006.

Preciso fazer o upload de imagens, até aí está tranquilo, mas eu quero tratar a imagem. Por exemplo, a imagem que foi feito upload vai ficar no BD em um campo BLOB, mas o usuário fez o upload de uma imagem de 800X600 (digamos) eu quero guardar essa imagem no formato 600X400.

Eu não quero só "mostrar" a imagem com um tamanho diferente, quero criar a partir da original um outro aqruivo, tipo uma miniatura da original para guardar essa no banco.

Tenho experiência com PHP lá faria com a biblioteca GD. Em asp.net tem como fazer isso? tipo colcar a imagem em preto e branco? gerar miniaturas?

Alguém tem algum exemplo?

Obrigado!

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Bom achei a solução antes que alguém pudesse me responder... para se ver a diferença de público entre as áreas do fórum. Para a surpresa geral, a solução não é difícil.

Veja o link:http://delphi.about.com/od/adptips2004/a/bltip0804_2.htm

O site é bem lento e em inglês, por isso colei aqui uma cópia da página, assim quando alguém buscar sobre isso no fórum vai achar o conteúdo diretamente e não vai precisar acessar links extermos.

abaixo uma cópia do site:

From Zarko Gajic,

Your Guide to Delphi Programming.

FREE Newsletter. Sign Up Now!

Creating thumbnail images (Delphi for .Net)

Suppose you have a Web Form where uploading of files is enabled, using the HtmlInputFile HTML control, and a user is uploading an image. If you accept only images of a specified size, you might need to shrink the uploaded image / create a thumnail.

Here's how to create thumbnail images in ASP.NET Delphi web applications.

~~~~~~~~~~~~~~~~~~~~~~~~~

procedure GenerateThumbNail(const FileName : string; const ImageStream : Stream; const tWidth, tHeight : Double) ;

var

g : System.Drawing.Image;

thumbSize : Size;

imgOutput : Bitmap;

imgStream : MemoryStream;

begin

//This function creates the Thumbnail image and returns the

//image created in Byte() format

g := System.Drawing.Image.FromStream(ImageStream) ;

thumbSize := NewThumbSize(g.Width, g.Height, tWidth, tHeight) ;

imgOutput := Bitmap.Create(g, thumbSize.Width, thumbSize.Height) ;

imgStream := MemoryStream.Create;

imgOutput.Save(imgStream, g.RawFormat) ;

imgOutput.Save(Path.Combine('c:\LocationOnServer',FileName)) ;

g.Dispose;

imgOutput.Dispose;

end;

function NewThumbSize(const currentwidth, currentheight, newWidth, newHeight : Double) : Size;

var

tempMultiplier : Double;

NewSize : Size;

begin

if currentheight > currentwidth Then

tempMultiplier := newHeight / currentheight

else

tempMultiplier := newWidth / currentwidth;

NewSize := Size.Create(Convert.ToInt32(currentwidth * tempMultiplier), Convert.ToInt32(currentheight * tempMultiplier)) ;

Result := NewSize;

end;

//Usage:

GenerateThumbNail('ThumbnameOnServer', ImageFile.PostedFile.InputStream, thumbWidth, thumbHeight) ;

//Where

//ImageFile : System.Web.UI.HtmlControls.HtmlInputFile;

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...