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

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

18.10.2016, 08:59. Показов 7995. Ответов 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
20.11.2016, 07:31  [ТС]
Студворк — интернет-сервис помощи студентам
ох ниффига се...я уже думал что никогда этого не увижу.
Миниатюры
Конвертация bmp изображения в матрицу  
0
 Аватар для KotovichMX
-27 / 7 / 1
Регистрация: 19.07.2011
Сообщений: 627
20.11.2016, 07:32  [ТС]
вот теперя всем спасиба!
0
 Аватар для KotovichMX
-27 / 7 / 1
Регистрация: 19.07.2011
Сообщений: 627
20.11.2016, 07:41  [ТС]
а ещё вопросик почему на диск "c:/1..." не разрешено клепать? как снять защиту?
Миниатюры
Конвертация bmp изображения в матрицу  
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18329 / 14254 / 5370
Регистрация: 17.03.2014
Сообщений: 28,918
Записей в блоге: 1
20.11.2016, 07:44
KotovichMX, не надо ничего снимать. Записывай в другой каталог.
1
Эксперт .NET
 Аватар для Usaga
14349 / 9445 / 1359
Регистрация: 21.01.2016
Сообщений: 35,601
20.11.2016, 07:44
KotovichMX, потому, что у пользователя из под которого запускается программа, нет прав на запись в корень диска C. Защиту снимать не рекомендую. Пиши в другое место.
1
 Аватар для KotovichMX
-27 / 7 / 1
Регистрация: 19.07.2011
Сообщений: 627
20.11.2016, 08:57  [ТС]
ну я так и думал это всё большой Билл.
0
 Аватар для KotovichMX
-27 / 7 / 1
Регистрация: 19.07.2011
Сообщений: 627
20.11.2016, 09:26  [ТС]
ну и еще подлый вопросик : получилось в WinForm но в ConsoleApplication не прокатывает. почему?
Миниатюры
Конвертация bmp изображения в матрицу  
0
 Аватар для KotovichMX
-27 / 7 / 1
Регистрация: 19.07.2011
Сообщений: 627
20.11.2016, 09:29  [ТС]
к тому же не любит когда файл обзывают с цифры.
Миниатюры
Конвертация bmp изображения в матрицу  
0
 Аватар для KotovichMX
-27 / 7 / 1
Регистрация: 19.07.2011
Сообщений: 627
20.11.2016, 09:46  [ТС]
палучилось..вот чудесса добавил символ @ и прокатило. во мутят черти.
Миниатюры
Конвертация bmp изображения в матрицу  
0
Эксперт .NET
 Аватар для Usaga
14349 / 9445 / 1359
Регистрация: 21.01.2016
Сообщений: 35,601
20.11.2016, 10:57
KotovichMX, тебе уже писали как надо пути оформлять.
0
 Аватар для KotovichMX
-27 / 7 / 1
Регистрация: 19.07.2011
Сообщений: 627
20.11.2016, 11:00  [ТС]
Конвертация текстового файла в изображение пошла не лучшим образом. подскажите пожалуйста зачем студия раздевает код предлагая снести кавычки? когда их убираешь получается полный обвал.
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
35
36
37
38
39
40
41
42
43
44
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Drawing;
 
namespace ConsoleApplication79
{
    class Program
    {
        static void Main(string[] args)
        {
 StreamReader txtFile = new StreamReader ( "@z:\x1.txt") ;
 temp = txtFile.ReadLine();
 width = (temp.Length + 1) / 7;
 while (!txtFile.EndOfStream)
 {
     txtFile.ReadLine();
     height++;
 }
 height++;
 txtFile.DiscardBufferedData();
 Bitmap bmp2 = new Bitmap(width, height);
            for ( int i = 0 ; i < height ; i + +)
   {
          temp = txtFile2.ReadLine ();
          string [ ] substring = temp.Split (' ');
 
           for ( int j = 0 ; j < width ; j + +)
           {
                R = byte.Parse ( substring [ j ] . Substring ( 0 , 2 ) ,
                        System.Globalization.NumberStyles.HexNumber );
                G = byte.Parse ( substring [ j ] . Substring ( 2 , 2 ) , 
                       System.Globalization.NumberStyles.HexNumber );
                 B = byte.Parse ( substring [ j ] . Substring ( 4 , 2 ) , 
                        System.Globalization.NumberStyles.HexNumber );
                 bmp2.SetPixel ( j , i , Color.FromArgb ( R , G , B )) ;
             }
      }
        }
    }
}
Миниатюры
Конвертация bmp изображения в матрицу  
0
 Аватар для KotovichMX
-27 / 7 / 1
Регистрация: 19.07.2011
Сообщений: 627
20.11.2016, 11:19  [ТС]
я был неправ. всё получается. кавычки переставил но вот еще ошибка . что с ней делать не
пойму.
Миниатюры
Конвертация bmp изображения в матрицу  
0
Эксперт .NET
 Аватар для Usaga
14349 / 9445 / 1359
Регистрация: 21.01.2016
Сообщений: 35,601
20.11.2016, 11:25
KotovichMX, т.е. ты не внял совету о том, что нельзя работать опираясь на рандом? Первый вариант со скобками был верный. Нельзя ставить пробел между плюсами в операторе инкремента. Что у тебя за мания с этими пррбелами?
0
 Аватар для KotovichMX
-27 / 7 / 1
Регистрация: 19.07.2011
Сообщений: 627
20.11.2016, 12:53  [ТС]
фух.... всего ода ошипка... но подлая до чертиков.
Миниатюры
Конвертация bmp изображения в матрицу  
0
 Аватар для KotovichMX
-27 / 7 / 1
Регистрация: 19.07.2011
Сообщений: 627
20.11.2016, 12:54  [ТС]
опять пробелы што ли?
0
Эксперт .NET
 Аватар для Usaga
14349 / 9445 / 1359
Регистрация: 21.01.2016
Сообщений: 35,601
20.11.2016, 13:06
Цитата Сообщение от KotovichMX Посмотреть сообщение
опять пробелы што ли?
Да и перманентные - нежелание ознакомиться с синтаксисом языка.

Код исполняемый в цикле for нужно заключить в фигурные скобки.
0
 Аватар для KotovichMX
-27 / 7 / 1
Регистрация: 19.07.2011
Сообщений: 627
20.11.2016, 13:18  [ТС]
заключил но этого недостаточно. может нужно перенести код в WinForm ?
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
 
namespace WindowsFormsApplication58
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            StreamReader txtFile = new StreamReader("@z:\x1.txt");
            temp = txtFile.ReadLine();
            width = (temp.Length + 1) / 7;
            while (!txtFile.EndOfStream)
            {
                txtFile.ReadLine();
                height++;
            }
            height++;
            txtFile.DiscardBufferedData();
            Bitmap bmp2 = new Bitmap(width, height);
            {
                for (int i = 0; i < height; i++)
 
                temp = txtFile2.ReadLine();
            string[] substring = temp.Split(' ');
 
            for (int j = 0; j < width; j++);
            }
 
                R = byte.Parse(substring[j].Substring(0, 2),
                        System.Globalization.NumberStyles.HexNumber);
            G = byte.Parse(substring[j].Substring(2, 2),
                   System.Globalization.NumberStyles.HexNumber);
            B = byte.Parse(substring[j].Substring(4, 2),
                   System.Globalization.NumberStyles.HexNumber);
            bmp2.SetPixel(j, i, Color.FromArgb(R, G, B));
             SaveFileDialog saveImage = new SaveFileDialog ();
    saveImage.Filter = " bmp files (*.bmp ) | *. bmp | All files (*.* )
                       | *.*" ;
    saveImage.ShowDialog ();
    bmp2.Save (saveImage.FileName);
        }
 
    }
}
Миниатюры
Конвертация bmp изображения в матрицу  
0
 Аватар для KotovichMX
-27 / 7 / 1
Регистрация: 19.07.2011
Сообщений: 627
20.11.2016, 13:21  [ТС]
плюс мне не ясно как будет выводиться изображение в форму или где то на диск?
0
Эксперт .NET
 Аватар для Usaga
14349 / 9445 / 1359
Регистрация: 21.01.2016
Сообщений: 35,601
20.11.2016, 13:35
KotovichMX, строковой литерал нельзя разрывать на несколько строк. Либо используй конкатенацию (оператор "+"), либо литерал держи на одной строке.

А ещё лучше: начни изучать синтаксис языка.

Добавлено через 11 минут
KotovichMX, хоть это, чтоли, почитай. А то ты так до самого Пришествия будешь бездумно скобочки туда-сюда добавлять.
0
 Аватар для KotovichMX
-27 / 7 / 1
Регистрация: 19.07.2011
Сообщений: 627
21.11.2016, 21:59  [ТС]
я думал - литерал это то что упрощает процесс но похоже на обратное. поясните пожалуйста нафига это сюда всандали
C#
1
 saveImage.Filter = " bmp files (*.bmp ) | *. bmp | All files (*.* )| *.*" ;
? и почему на это чудо так ругается студия?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.11.2016, 21:59
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
Модель здравосохранения 17. Планы на выгорание
anaschu 23.05.2026
Вот конкретная схема реализации: В классе Работник добавить: накопленнаяУсталость — растёт каждый час работы, снижается в перерывы и болезни коэффициентПрезентеизма — снижает продуктивность. . .
Изменение цветов в палитре gif файла aka фавикона
russiannick 23.05.2026
Изменение цветов в палитре gif файла, юзаемого как фавиконка в составе html-файла, помещенная в base64, средствами нативного Java Script, навеянное сном в майский день. Для работы необходим браузер,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru