Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.62/34: Рейтинг темы: голосов - 34, средняя оценка - 4.62
 Аватар для KotovichMX
-27 / 7 / 1
Регистрация: 19.07.2011
Сообщений: 627

Конвертация bmp изображения в матрицу

18.10.2016, 08:59. Показов 7826. Ответов 67
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
повстречал статью на СоХабре https://sohabr.net/habr/post/195344/ - Конвертация bmp изображения в матрицу и обратно для дальнейшей обработки. метод интересен и хотелось бы протестировать его на быстродействие но вотт собрав код до кучи и вставив его в визуал студию получил аж 21 ошибку. подскажите пожалуйста если кто в курсах где взять рабочий код ?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.10.2016, 08:59
Ответы с готовыми решениями:

Конвертация bmp изображения в матрицу
StreamWriter steamWriter = new StreamWriter("c:\1.txt"); for (int y = 0; y < bmp.Height; y++) { for (int x = 0; x <...

Конвертация из bmp в png
Всем здравствуйте.:senor: Возник вопрос по поводу использования библиотек gdiplus.h. В MSDN есть готовый код который позволяет...

Конвертация bmp в png
есть изображение созданое путём Graphics::TBitmap *Bitmap=new Graphics::TBitmap; надо переконвертировать его в пнг если не ошибаюсь...

67
 Аватар для KotovichMX
-27 / 7 / 1
Регистрация: 19.07.2011
Сообщений: 627
18.10.2016, 09:06  [ТС]
....
Миниатюры
Конвертация bmp изображения в матрицу  
0
1498 / 1213 / 821
Регистрация: 29.02.2016
Сообщений: 3,630
18.10.2016, 09:10
http://www.codeproject.com/Art... Image-Conv
http://stackoverflow.com/quest... o-a-matrix
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18275 / 14198 / 5368
Регистрация: 17.03.2014
Сообщений: 28,881
Записей в блоге: 1
18.10.2016, 09:32
KotovichMX, там мелкие ошибки с лишними пробелами и слешами. 21 ошибку можно исправить и вручную. Например " c : \ 1.txt " нужно заменить на @"c:\1.txt"
0
 Аватар для BOGG ART
592 / 459 / 147
Регистрация: 09.12.2013
Сообщений: 2,385
Записей в блоге: 2
18.10.2016, 09:38
А цель какая? В WinAPI и в GDI и в GDI+ битмап и так является массивом байт. Та же матрица. Надо просто найти как в шарпе получить доступ к DIB-секции.
0
.NET senior
 Аватар для bax_tang
441 / 359 / 137
Регистрация: 23.09.2016
Сообщений: 980
18.10.2016, 09:51
KotovichMX, например:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// using System.Drawing;
// using System.Drawing.Imaging;
 
// создали bitmap из файла
Bitmap image = new Bitmap(@"<path_to_image_on_your_file_system>");
 
// заблокировали данные изображения для работы
BitmapData imageData = image.LockBits(new Rectangle(0, 0, image.Width, image.Height), ImageLockMode.ReadWrite, image.PixelFormat);
 
IntPtr dataPtr = imageData.Scan0; // << указатель на данные изображения
 
// ... тут как-то работаем напрямую со значениями пикселей
 
// разблокировали изображение
image.UnlockBits(imageData);
 
// освободили занимаемые изображением ресурсы
image.Dispose();
0
 Аватар для KotovichMX
-27 / 7 / 1
Регистрация: 19.07.2011
Сообщений: 627
18.10.2016, 10:25  [ТС]
......
Миниатюры
Конвертация bmp изображения в матрицу  
0
 Аватар для KotovichMX
-27 / 7 / 1
Регистрация: 19.07.2011
Сообщений: 627
18.10.2016, 10:27  [ТС]
слава богу тока три ошибки.
0
 Аватар для BOGG ART
592 / 459 / 147
Регистрация: 09.12.2013
Сообщений: 2,385
Записей в блоге: 2
18.10.2016, 10:34
C#
1
2
// using System.Drawing;
// using System.Drawing.Imaging;
Это вы куда поместили? Видимо никуда?

Добавлено через 41 секунду
Цитата Сообщение от bax_tang
C#
1
imageData.Scan0;
Да, это указатель на DIB, то что я подразумевал, спасибо.
0
 Аватар для KotovichMX
-27 / 7 / 1
Регистрация: 19.07.2011
Сообщений: 627
18.10.2016, 11:26  [ТС]
спс будем проверять.
0
 Аватар для KotovichMX
-27 / 7 / 1
Регистрация: 19.07.2011
Сообщений: 627
28.10.2016, 08:45  [ТС]
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
using System.Drawing;
using System.Drawing.Imaging;
 
// создали bitmap из файла
Bitmap image = new Bitmap(@" c : \\ 1.bmp ");
 
// заблокировали данные изображения для работы
BitmapData imageData = image.LockBits(new Rectangle(0, 0, image.Width, image.Height), ImageLockMode.ReadWrite, image.PixelFormat);
 
IntPtr dataPtr = imageData.Scan0; // << указатель на данные изображения
 
// ... тут как-то работаем напрямую со значениями пикселей
 
// разблокировали изображение
image.UnlockBits(imageData);
 
// освободили занимаемые изображением ресурсы
image.Dispose();
что-то ничего не получается. что здесь не так не пойму?
Миниатюры
Конвертация bmp изображения в матрицу  
0
Эксперт .NET
 Аватар для Usaga
14138 / 9366 / 1350
Регистрация: 21.01.2016
Сообщений: 35,232
28.10.2016, 08:52
KotovichMX, код нужно помещать в тело метода, а метод в класс.

Рекомендую отложить решение данной задачи и заняться изучением языка.
1
 Аватар для KotovichMX
-27 / 7 / 1
Регистрация: 19.07.2011
Сообщений: 627
28.10.2016, 10:21  [ТС]
в общем этим и занимаюсь.
0
 Аватар для KotovichMX
-27 / 7 / 1
Регистрация: 19.07.2011
Сообщений: 627
28.10.2016, 10:30  [ТС]
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Drawing; using System.Drawing.Imaging;
 
namespace ConsoleApplication14
{
    class Program
    {
        static void Main(string[] args);
            
 
// создали bitmap из файла
Bitmap image = new Bitmap(@" c : \ 1.bmp ");
 
// заблокировали данные изображения для работы
BitmapData imageData = image.LockBits(new Rectangle(0, 0, image.Width, image.Height), ImageLockMode.ReadWrite, image.PixelFormat);
 
IntPtr dataPtr = imageData.Scan0; // << указатель на данные изображения
 
// ... тут как-то работаем напрямую со значениями пикселей
 
// разблокировали изображение
image.UnlockBits(imageData);
 
// освободили занимаемые изображением ресурсы
image.Dispose();
        {
        }
    }
}
попробовал вот так и снова ругань
Миниатюры
Конвертация bmp изображения в матрицу  
0
Эксперт .NET
 Аватар для Usaga
14138 / 9366 / 1350
Регистрация: 21.01.2016
Сообщений: 35,232
28.10.2016, 10:34
KotovichMX, ты код поместил вне метода Main.

Добавлено через 2 минуты
Метод "тыка" - дело неблагодарное. Попробуй хотя бы полистать какой-нибудь учебник по C#, чтобы добавить осмысленности своим действиям.
0
 Аватар для KotovichMX
-27 / 7 / 1
Регистрация: 19.07.2011
Сообщений: 627
28.10.2016, 10:43  [ТС]
нда действительно...
0
 Аватар для KotovichMX
-27 / 7 / 1
Регистрация: 19.07.2011
Сообщений: 627
09.11.2016, 20:34  [ТС]
подскажите плиз а как с этой ошибкой разобраться?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Drawing;
using System.Drawing.Imaging;
 
namespace ConsoleApplication37
{
    class Program
    {
        static void Main(string[] args)
        {
          
 
// создали bitmap из файла
Bitmap image = new Bitmap(@" c : \\ 1.bmp ");
 
// заблокировали данные изображения для работы
BitmapData imageData = image.LockBits(new Rectangle(0, 0, image.Width, image.Height), ImageLockMode.ReadWrite, image.PixelFormat);
 
IntPtr dataPtr = imageData.Scan0; // << указатель на данные изображения
 
// ... тут как-то работаем напрямую со значениями пикселей
 
// разблокировали изображение
image.UnlockBits(imageData);
 
// освободили занимаемые изображением ресурсы
image.Dispose();
        }
    }
}
Миниатюры
Конвертация bmp изображения в матрицу  
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18275 / 14198 / 5368
Регистрация: 17.03.2014
Сообщений: 28,881
Записей в блоге: 1
09.11.2016, 21:53
KotovichMX, проверь что есть reference (ссылка) на сборку System.Drawing. Это видно в "папке" references. Если нет, то добавь через контекстное меню.
1
 Аватар для KotovichMX
-27 / 7 / 1
Регистрация: 19.07.2011
Сообщений: 627
10.11.2016, 04:24  [ТС]
спасибо помогло но ненадолго...
Миниатюры
Конвертация bmp изображения в матрицу  
0
 Аватар для KotovichMX
-27 / 7 / 1
Регистрация: 19.07.2011
Сообщений: 627
10.11.2016, 04:30  [ТС]
ага. всандалил
C#
1
Console.ReadKey();// пауза
и вотт что получил
Миниатюры
Конвертация bmp изображения в матрицу  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.11.2016, 04:30
Помогаю со студенческими работами здесь

Конвертация BMP в свой формат
Стоит задача сделать собственный формат изображения. Собственный формат предполагает создание собственной структуры заголовка (отличающейся...

Конвертация из jpg в bmp и обратно
И так, ребят, мне срочно нужна помощь! нужно при помощи MS Visual C++ переконвертировать jpg в bmp а потом обратно если кто делал,...

Конвертация *.BMP в 3 файла *.ТХТ
Народ помогите. Нужен код на VB для конвертации файла формата BMP, ну то бишь изображения, в три файла формата ТХТ - RED.тхт, GREEN.тхт...

Конвертация BMP в массив и обратно
Добрый день. Есть проблема с конвертацией Ч/Б bmp изображения в массив и обратным получением изображения из массива. Код создания...

Формат PCX. Конвертация в BMP
Приветствую. Возникла задача для курсового - написать конвертер 256-цветных PCX изображений в 256-цветные BMP. И появились вопросы. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru