¿Cómo puedo escribir una aplicación que recorte imágenes en C #?
c#
image-processing
arenoso101
fuente
fuente
DrawImageUnscaledAndClipped
más eficiente queDrawImage
para fines de cultivo?Echa un vistazo a este enlace: http://www.switchonthecode.com/tutorials/csharp-tutorial-image-editing-saving-cropping-and-resizing
fuente
Más simple que la respuesta aceptada es esta:
y evita el riesgo de excepción "Sin memoria " de la respuesta más simple.
Tenga en cuenta que
Bitmap
y por lo tantoGraphics
sonIDisposable
lasusing
cláusulas.EDITAR : Creo que esto está bien con PNG guardados por
Bitmap.Save
o Paint.exe, pero falla con PNG guardados por ejemplo, Paint Shop Pro 6 : el contenido se desplaza. La adición deGraphicsUnit.Pixel
da un resultado incorrecto diferente. Quizás solo estos PNG defectuosos son defectuosos.fuente
Bitmap
yGraphics
sonIDisposable
- agregue unausing
cláusulaEsto puede ser necesario incluso si implementa la mejor respuesta aquí, especialmente si su imagen es realmente excelente y las resoluciones no son exactamente 96.0
Mi ejemplo de prueba:
fuente
Es bastante fácil:
Bitmap
objeto con el tamaño recortado.Graphics.FromImage
para crear unGraphics
objeto para el nuevo mapa de bits.DrawImage
método para dibujar la imagen en el mapa de bits con una coordenada X e Y negativa.fuente
Aquí hay un ejemplo simple sobre cómo recortar una imagen
fuente
Si está utilizando AForge.NET :
fuente
Estaba buscando una función fácil y RÁPIDA sin una biblioteca adicional para hacer el trabajo. Intenté la solución Nicks , pero necesité 29,4 segundos para "extraer" 1195 imágenes de un archivo atlas. Así que más tarde me las arreglé de esta manera y necesité 2,43 segundos para hacer el mismo trabajo. Quizás esto sea útil.
fuente
Recortar una imagen es muy fácil en C #. Sin embargo, hacer las cosas como vas a manejar el recorte de tu imagen será un poco más difícil.
El siguiente ejemplo es la forma de recortar una imagen en C #.
fuente
Hay un contenedor de C # para el código abierto, alojado en Codeplex llamado Recorte de imágenes web
Registrar el control
<%@ Register Assembly="CS.Web.UI.CropImage" Namespace="CS.Web.UI" TagPrefix="cs" %>
Redimensionando
Recorte en el código detrás : llame al método de recorte cuando se hace clic en un botón, por ejemplo;
wci1.Crop(Server.MapPath("images/sample1.jpg"));
fuente
Suponiendo que quiere decir que desea tomar un archivo de imagen (JPEG, BMP, TIFF, etc.) y recortarlo y luego guardarlo como un archivo de imagen más pequeño, sugiero usar una herramienta de terceros que tenga una API .NET. Estos son algunos de los más populares que me gustan:
LeadTools
Accusoft Pegasus Snowbound Imaging SDK
fuente
Solo esta muestra funciona sin problema:
fuente
Esta es otra forma. En mi caso tengo:
Dentro del botón tengo este código:
Lo probé en Visual Studio 2012 usando C #. Encontré esta solución desde esta página
fuente
aquí está trabajando demo en github
https://github.com/SystematixIndore/Crop-SaveImageInCSharp
Lógica de código C # para cargar y recortar.
fuente