Bagaimana saya bisa menulis aplikasi yang akan memotong gambar dalam C #?
c#
image-processing
sandy101
sumber
sumber
DrawImageUnscaledAndClipped
lebih efisien daripadaDrawImage
untuk tujuan penanaman?Lihat tautan ini: http://www.switchonthecode.com/tutorials/csharp-tutorial-image-editing-saving-cropping-and-resizing
sumber
Lebih sederhana daripada jawaban yang diterima adalah ini:
dan itu menghindari " Kehabisan memori risiko " dari jawaban paling sederhana.
Perhatikan bahwa
Bitmap
danGraphics
adalahIDisposable
karenanyausing
klausa.EDIT : Saya menemukan ini baik-baik saja dengan PNG disimpan oleh
Bitmap.Save
atau Paint.exe, tetapi gagal dengan PNG disimpan oleh misalnya Paint Shop Pro 6 - konten dipindahkan. PenambahanGraphicsUnit.Pixel
memberi hasil salah yang berbeda. Mungkin PNG yang gagal ini salah.sumber
Bitmap
danGraphics
yangIDisposable
- menambahkanusing
klausulini mungkin perlu dilakukan bahkan jika Anda menerapkan jawaban terbaik di sini terutama jika gambar Anda benar-benar hebat dan resolusi tidak tepat 96.0
Contoh pengujian saya:
sumber
Cukup mudah:
Bitmap
objek dengan ukuran yang dipotong.Graphics.FromImage
untuk membuatGraphics
objek untuk bitmap baru.DrawImage
metode untuk menggambar gambar ke bitmap dengan koordinat X dan Y negatif.sumber
Berikut adalah contoh sederhana tentang memotong gambar
sumber
Jika Anda menggunakan AForge.NET :
sumber
Saya mencari fungsi yang mudah dan CEPAT tanpa perpustakaan tambahan untuk melakukan pekerjaan itu. Saya mencoba solusi Nicks , tetapi saya membutuhkan 29,4 detik untuk "mengekstrak" 1195 gambar file atlas. Jadi kemudian saya berhasil dengan cara ini dan membutuhkan 2,43 detik untuk melakukan pekerjaan yang sama. Mungkin ini akan sangat membantu.
sumber
Memotong gambar sangat mudah di C #. Namun, melakukan hal-hal bagaimana Anda mengelola pemotongan gambar Anda akan sedikit lebih sulit.
Contoh di bawah ini adalah cara memotong gambar di C #.
sumber
Ada pembungkus C # untuk apa yang merupakan open source, di-host di Codeplex yang disebut Web Image Cropping
Daftarkan kontrol
<%@ Register Assembly="CS.Web.UI.CropImage" Namespace="CS.Web.UI" TagPrefix="cs" %>
Mengubah ukuran
Pangkas kode di belakang - Metode Pangkas panggilan saat tombol diklik misalnya;
wci1.Crop(Server.MapPath("images/sample1.jpg"));
sumber
Dengan asumsi Anda bermaksud mengambil file gambar (JPEG, BMP, TIFF, dll) dan memotongnya kemudian menyimpannya sebagai file gambar yang lebih kecil, saya sarankan menggunakan alat pihak ketiga yang memiliki .NET API. Berikut adalah beberapa yang populer yang saya sukai:
LeadTools
Accusoft Pegasus Snowbound Imaging SDK
sumber
Hanya sampel ini yang berfungsi tanpa masalah:
sumber
Ini cara lain. Dalam kasus saya, saya memiliki:
Di dalam tombol saya memiliki kode ini:
Saya mencobanya di Visual studio 2012 menggunakan C #. Saya menemukan solusi ini dari halaman ini
sumber
ini dia demo bekerja di github
https://github.com/SystematixIndore/Crop-SaveImageInCSharp
Logika kode C # untuk mengunggah dan memotong.
sumber