![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Ученик |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 10.6.2004 Репутация: нет Всего: нет |
Может кто-нибудь показать начинающему простую законченную
программу на С++, позволяющую вставить в нее созданную в графическом редакторе цветную картинку? Имею BC31 и Visual C++ 6. Хотелось бы в DOS и Windows. Литература не доступна. В Интернете и на форуме впервые. Подсказать, что и как, некому. |
|||
|
||||
| Ander |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 17.11.2003 Где: Рига, Латвия Репутация: нет Всего: 1 |
Посмотри вот здесь, там их целый вагон: http://www.codeproject.com/bitmap/
|
|||
|
||||
| Ученик |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 10.6.2004 Репутация: нет Всего: нет |
Спасибо.
А есть что-нибудь на русском? |
|||
|
||||
| chipset |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
Для Windows - www.firststeps.ru или лучше покупай Круглинского
Программирование Microsoft Visual C++ 6.0... А в Досе я бы помог но не знаю, поищи по форуму недавно тема была... --------------------
|
|||
|
||||
| Ученик |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 10.6.2004 Репутация: нет Всего: нет |
Спасибо, кое-что отыскал.
Теперь бы научиться это использовать в своих целях... |
|||
|
||||
| Ученик |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 10.6.2004 Репутация: нет Всего: нет |
Отыскал для BC31, нарисовал, вставил.
Однако цвета вставленной картинки не совпадают с нарисованной в Paint. C чем это связано? Может, с палитрой? Можно ли что-нибудь сделать? Вот код: #include <conio.h> #include <stdio.h> #include <fcntl.h> #include <sys\stat.h> #include <io.h> #include <string.h> #include <ctype.h> #include <math.h> #include <graphics.h> unsigned long readnb(int handle,int from,int n) { int j=0; unsigned char c; unsigned long s=0; lseek(handle,from,SEEK_SET); do { read(handle,&c,1); s=s+c*pow(2,j*8); j++; }while(j<n); return(s); } int main(void) { int handle,i,bppixel,ctype,x=0,y=0; FILE *stream; unsigned char ch,r,g,b; unsigned long fsize,width,height,asize,aloc; int graphdriver=DETECT; int graphmode; initgraph(&graphdriver,&graphmode,""); clrscr(); if ((handle=open("my.bmp",O_RDONLY | O_BINARY))==-1) { perror("Error"); } stream=fdopen(handle,"r+"); fsize=readnb(handle,2,4); printf("Size: %lu\n",fsize); aloc=readnb(handle,10,4); printf("Array location: %lu\n",aloc); width=readnb(handle,18,4); printf("Width: %lu\n",width); height=readnb(handle,22,4); printf("Height: %lu\n",height); bppixel=readnb(handle,28,2); printf("Bit per pixel: %u\n",bppixel); ctype=readnb(handle,30,4); printf("Compression type: %u\n",ctype); asize=readnb(handle,34,4); printf("Array size: %lu\n",asize); getch(); lseek(handle,aloc,SEEK_SET); cleardevice(); y=height; do { read(handle,&r,1); read(handle,&g,1); read(handle,&b,1); putpixel(x,y,((r+g+b)/51)); x++; if (x==width) { x=0; y--; } //getch(); }while(!eof(handle)); fclose(stream); close(handle); getch(); closegraph(); } |
|||
|
||||
| Конструктор |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 641 Регистрация: 12.5.2004 Где: Москва Репутация: нет Всего: 10 |
Имеется библиотечка собственного приготовления, но там формат файлов собственный и элементарный. Используется сам битмап отдельно и палитра для этого битмапа отдельно. Есть редактор и того и другого под DOS. Еще куча всяких приблуд под это дело.
Написано на BC++ 3.1 с использованием asm (вставленный прямо в сишный сорс) Ежель кому надобно не жалко. |
|||
|
||||
| Ученик |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 10.6.2004 Репутация: нет Всего: нет |
Конечно надобно!
Хорошо бы на работающих примерах, подобно данному выше коду. Нет пока ни знаний, ни опыта в использовании отдельных фрагментов, описанных в доступной мне литературе. |
|||
|
||||
| Конструктор |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 641 Регистрация: 12.5.2004 Где: Москва Репутация: нет Всего: 10 |
Вроде отправилось.
|
|||
|
||||
| Ученик |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 10.6.2004 Репутация: нет Всего: нет |
Спасибо, получил.
Пример запустил - оригинально! Есть что изучать. Картинки созданы с помощью MTX_EDIT? Какой путь прописывать в SETUP? К "файлам редактора" - это к папке MTX_EDIT? |
|||
|
||||
| Конструктор |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 641 Регистрация: 12.5.2004 Где: Москва Репутация: нет Всего: 10 |
Да, в setup прописывается путь к файлам MTX_EDIT. т.е. например C:\Dir\dir\MTX_EDIT. Картинки были выдраны из дума, сконвертированы в MTX и в grayscale переведены.
|
|||
|
||||
| shara |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 29.6.2004 Где: печенье? Репутация: нет Всего: 2 |
я тут проходил мимо и про библиотечку услышал, я тоже такю себе хочу, если можно
залейте на мыло [email protected] -------------------- с точки зрения аэродинамики шмель не может летать |
|||
|
||||
| Конструктор |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 641 Регистрация: 12.5.2004 Где: Москва Репутация: нет Всего: 10 |
Вроде снова отправилось.
Добавлено @ 08:08 Вроде снова отправилось. |
|||
|
||||
| shara |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 29.6.2004 Где: печенье? Репутация: нет Всего: 2 |
ну спасибо, прикольная штука, однако
-------------------- с точки зрения аэродинамики шмель не может летать |
|||
|
||||
| Гость_lamer |
|
|||
|
Unregistered |
lyudi dobrie ?
pomogite etot ******** c++ dakanat kak ya mogu vstavit kartinku v c++ v 16 zvetovom ?/// esli mojno posmatret na ishodniki itd? |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |