Есть ли какая-либо бесплатная .net библиотека для winform или wpf, которая может обеспечить управление, чтобы выбрать специфические области изображения, а затем мы можем сохранить эти регионы как разные изображения. Будет здорово, если мы сможем нарисовать сетку с помощью мыши на изображении, а затем сохраним эту сетку как отдельное изображение.Выбор определенной области из изображения
ответ
Это не очень сложно. В Winforms здесь минимальный пример:
GraphicsPath GP = null;
List<Point> points = new List<Point>();
private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
{
points.Clear();
points.Add(e.Location);
}
private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
{
GP = new GraphicsPath();
GP.AddClosedCurve(points.ToArray());
}
private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == System.Windows.Forms.MouseButtons.Left)
{
points.Add(e.Location);
pictureBox1.Invalidate();
}
}
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
if (points.Count > 1)
e.Graphics.DrawCurve(Pens.Orange, points.ToArray(), 0.5f);
}
private void cb_clearRegion_Click(object sender, EventArgs e)
{
points.Clear();
pictureBox1.Region = null;
}
private void cb_SaveRegion_Click(object sender, EventArgs e)
{
Rectangle cr = pictureBox1.ClientRectangle;
using (Bitmap bmp = new Bitmap(cr.Width, cr.Height))
using (Graphics G = Graphics.FromImage(bmp))
{
G.SetClip(GP);
G.DrawImage(pictureBox1.Image, Point.Empty);
bmp.Save(@"D:\xyz.png", ImageFormat.Png);
}
}
Обратите внимание, что это не использовать масштабирование или вне и создает растровое изображение, все имеют тот же размер, что и оригинал, только прозрачное везде за пределами региона.
Реализация azoom тривиально, используя ScaleTransform
и функцию Point UnZoom(Point)
; просто спросите, если вам это нужно.
Для того, чтобы добавить режим 'move', вы можете использовать MouseMove
и перечислить все Points
.
Если вам нужны несколько регионов, вам нужно будет собрать List<T>
и использовать их последовательно для создания вывода.
Если вы действительно хотите сохранить только сетку, без изображения, используйте G.DrawPath(..)
вместо DrawImage()
!
Также обратите внимание, что вы можете использовать различные инструменты для рисования, такие как линии, rectanlges и т. Д., Чтобы уточнить выбор. Вы можете постепенно добавлять цифры к пути.
- 1. Notepad ++ Выбор определенной области в тексте
- 2. Получение всех координат полигона определенной области изображения?
- 3. Отображение определенной области растрового изображения в изображенииView
- 4. Ограничение пиксельных шейдеров по определенной области изображения
- 5. Применение алгоритма к определенной области изображения
- 6. Показаны изображения только в пределах определенной области
- 7. Протяжение/масштабирование определенной области обзора/растрового изображения
- 8. Как заполнить цвет изображения в определенной области?
- 9. Сохранение изображения из определенной области GUI в MATLAB
- 10. Выбор нестандартной области изображения в веб-приложении
- 11. Ограничить выбор области изображения с помощью imgAreaSelect
- 12. Выбор определенной строки из таблицы
- 13. Выбор области из отображаемого изображения с использованием библиотеки CImg
- 14. Визуальный выбор изображения из изображения?
- 15. Как скрыть регистрацию компонента из определенной области?
- 16. Как сделать изображение прозрачным из определенной области?
- 17. Выполнение скриншота определенной области
- 18. glMaterialfv в определенной области
- 19. Гиперссылка в определенной области
- 20. Выберите изображения из определенной директории
- 21. изображения - определяет выбор исходного изображения
- 22. Выбор последней строки текстовой области
- 23. Вырезать дополнительные области из изображения
- 24. PHP Выбор определенной строки
- 25. Paper.js Subraster Выбор неправильной области
- 26. Выбор определенной строки из rpy2 DataFrame
- 27. Выбор определенной строки из набора данных
- 28. Выбор данных из определенной таблицы в MYSQL
- 29. MySQL выбор столбцов из определенной таблицы
- 30. Как увеличить масштаб изображения в определенной области окна DirectShow?
Возможный дубликат [Конвертировать PDF в изображение без использования Ghostscript DLL] (http://stackoverflow.com/questions/12831742/convert-pdf-to-image-without-using -ghostscript-dll) – Jens
Вы заглянули в [JCrop] (http://jcrop.org/)? – Obaid
его форма окна/wpf web или что ?? должен указывать. что на самом деле действительно требуется, чтобы понять, что именно вы хотите –