Como posso escrever um aplicativo que cortará imagens em c #?
c#
image-processing
sandy101
fonte
fonte
DrawImageUnscaledAndClipped
mais eficiente do queDrawImage
para fins de corte?Confira este link: http://www.switchonthecode.com/tutorials/csharp-tutorial-image-editing-saving-cropping-and-resizing
fonte
Mais simples que a resposta aceita é esta:
e evita o risco de exceção " Sem memória " da resposta mais simples.
Observe que
Bitmap
eGraphics
são,IDisposable
portanto, asusing
cláusulas.EDIT : Acho que isso é bom com PNGs salvos por
Bitmap.Save
ou Paint.exe, mas falha com PNGs salvos por, por exemplo, Paint Shop Pro 6 - o conteúdo é deslocado. A adição deGraphicsUnit.Pixel
fornece um resultado errado diferente. Talvez apenas esses PNGs com falha estejam com defeito.fonte
Bitmap
eGraphics
sãoIDisposable
- adicione umausing
cláusulaisso pode ser necessário, mesmo se você implementar a melhor resposta aqui, especialmente se sua imagem for realmente ótima e as resoluções não forem exatamente 96,0
Meu exemplo de teste:
fonte
É bem fácil:
Bitmap
objeto com o tamanho recortado.Graphics.FromImage
para criar umGraphics
objeto para o novo bitmap.DrawImage
método para desenhar a imagem no bitmap com as coordenadas X e Y negativas.fonte
Aqui está um exemplo simples de como cortar uma imagem
fonte
Se você estiver usando o AForge.NET :
fonte
Eu estava procurando por uma função fácil e RÁPIDA, sem biblioteca adicional para fazer o trabalho. Tentei a solução Nicks , mas precisei de 29,4 segundos para "extrair" 1195 imagens de um arquivo atlas. Então, mais tarde, eu consegui dessa maneira e precisei de 2,43 segundos para fazer o mesmo trabalho. Talvez isso seja útil.
fonte
Cortar uma imagem é muito fácil em C #. No entanto, fazer as coisas como você gerenciará o corte de sua imagem será um pouco mais difícil.
A amostra abaixo é a maneira de cortar uma imagem em C #.
fonte
Existe um invólucro em C # para código aberto, hospedado no Codeplex chamado Web Image Cropping
Registrar o controle
<%@ Register Assembly="CS.Web.UI.CropImage" Namespace="CS.Web.UI" TagPrefix="cs" %>
Redimensionando
Recorte no código por trás - Chame o método Crop quando o botão for pressionado, por exemplo;
wci1.Crop(Server.MapPath("images/sample1.jpg"));
fonte
Supondo que você queira pegar um arquivo de imagem (JPEG, BMP, TIFF etc.) e recortá-lo e salvá-lo como um arquivo de imagem menor, sugiro o uso de uma ferramenta de terceiros que possua uma API .NET. Aqui estão alguns dos populares que eu gosto:
LeadTools
Accusoft Pegasus Snowbound Imaging SDK
fonte
Somente esta amostra funcionando sem problemas:
fonte
Esta é outra maneira. No meu caso eu tenho:
Dentro do botão eu tenho este código:
Eu tentei no Visual studio 2012 usando C #. Encontrei esta solução nesta página
fonte
aqui está trabalhando demo no github
https://github.com/SystematixIndore/Crop-SaveImageInCSharp
Lógica de código C # para upload e corte.
fonte