В настоящее время я работаю над приложением, чтобы автоматизировать генерацию наборов элементов. На самом деле мой вопрос довольно прост. У меня возникли проблемы с разделением файла на плитки. Можно ли создавать отдельные изображения из PictureBox или есть другой, более эффективный способ? Я хочу вырезать графику в плитки, чтобы переставить их.Windows Forms C#, редактирование изображений
ответ
Вы можете получить суб-изображение с PictureBox
относительно легко - это изображение всего лишь bitmap
. Вы можете использовать классы bitmap Clone()
, который принимает Rectangle
и PixelFormat
.
Bitmap image = pictureBox.Image;
Bitmap subImage = image.Clone(new Rect(0,0,64,64), image.PixelFormat);
субизображения в этом случае будет начинаться с позиции (0,0) в изображении и 64x64 в размере
Для того, чтобы изменить порядок плитки вы можете распечатать их обратно на PictureBox, как так:
Graphics g = Graphics.FromImage(image);
g.drawImage(subImage, 64, 64);
pictureBox.Image = image;
Это привлечёт subImage
в образ в (64,64), мы захватили из PictureBox, image
, раньше и затем установите PictureBox изображение в отредактированной один.
Это может хорошо работать. Однако [прочитайте это] (http://stackoverflow.com/questions/12709360/whats-the-difference-between-bitmap-clone-and-new-bitmapbitmap), чтобы понять последствия использования клона, т. Е. Сделать только мелкая копия – TaW
Спасибо, я не понимал, что так работал клоун. Хотя в этом случае правильное отображение будет только измененным? –
Да, или скорее __all__ те плитки, которые он вырезает из оригинала, будут зависеть от него. – TaW
- 1. Загрузка изображений в Windows Forms
- 2. C# Forms - Загрузка изображений
- 3. Rich Text Редактирование в Windows Forms
- 4. Приложение C++ Windows Forms - редактирование XML существующего дочернего узла xml
- 5. C# - Windows Forms - Windows Sleep
- 6. C# приложения Windows Forms
- 7. Windows Forms C++
- 8. C# Windows Forms коммутации
- 9. Windows Forms C#
- 10. C# Объект Windows Forms
- 11. C# Windows Forms
- 12. Windows Forms combobox.SelectedItem, C#
- 13. Редактирование изображений на C++ opencv
- 14. Редактирование растровых изображений в C++
- 15. Редактирование изображений с помощью универсального приложения windows в C#
- 16. редактирование изображений на windows phone 7
- 17. Windows Forms C# picturebox and whitespace
- 18. Multi Threading C# Windows Forms
- 19. Расчеты в Windows Forms C#
- 20. Обновить таймер C# Windows Forms
- 21. Windows Forms Skins in C#
- 22. C# Windows Forms. Форма входа
- 23. C# Проверка форм Windows Forms
- 24. C#, Windows Forms, LinkLabel Column
- 25. C# Windows Forms и XAML
- 26. C# threading и Windows Forms
- 27. C#, Windows Forms и Application.Run()
- 28. C# Windows Forms Data Binding
- 29. Базовый калькулятор Windows Forms C#
- 30. Windows Forms Application C# Style
Ваш код и все ошибки? – KDOT
Благодарим за отзыв, Ну, я на самом деле ищу только идею tbh. Обработка изображений с помощью PictureBoxes просто не соответствует действительности. –
Конечно, есть много способов. Я бы: создал их и наполнил ими в ImageList, если они соответствуют пределу 256x256. В противном случае список будет делать то же самое. Затем нарисуйте их, возможно, в виде изображения или, возможно, в файл picturebox.image, когда вы захотите переделать макет. Чтобы создать плитки, используйте подходящую перегрузку и графический объект, созданный из целевого растрового изображения. –
TaW