Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Графика на С++, вставка цветной картинки 
:(
    Опции темы
Ученик
Дата 10.6.2004, 22:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 10.6.2004

Репутация: нет
Всего: нет



Может кто-нибудь показать начинающему простую законченную
программу на С++, позволяющую вставить в нее созданную в
графическом редакторе цветную картинку?
Имею BC31 и Visual C++ 6.
Хотелось бы в DOS и Windows.
Литература не доступна.
В Интернете и на форуме впервые.
Подсказать, что и как, некому.
PM MAIL   Вверх
Ander
Дата 10.6.2004, 23:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 17.11.2003
Где: Рига, Латвия

Репутация: нет
Всего: 1



Посмотри вот здесь, там их целый вагон: http://www.codeproject.com/bitmap/
PM MAIL   Вверх
Ученик
Дата 12.6.2004, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 10.6.2004

Репутация: нет
Всего: нет



Спасибо.
А есть что-нибудь на русском?
PM MAIL   Вверх
chipset
Дата 12.6.2004, 10:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 27
Всего: 165



Для Windows - www.firststeps.ru или лучше покупай Круглинского
Программирование Microsoft Visual C++ 6.0...
А в Досе я бы помог но не знаю, поищи по форуму недавно тема была...


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
Ученик
Дата 12.6.2004, 18:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 10.6.2004

Репутация: нет
Всего: нет



Спасибо, кое-что отыскал.
Теперь бы научиться это использовать в своих целях...
PM MAIL   Вверх
Ученик
Дата 15.6.2004, 09:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 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();
}

PM MAIL   Вверх
Конструктор
Дата 17.6.2004, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 641
Регистрация: 12.5.2004
Где: Москва

Репутация: нет
Всего: 10



Имеется библиотечка собственного приготовления, но там формат файлов собственный и элементарный. Используется сам битмап отдельно и палитра для этого битмапа отдельно. Есть редактор и того и другого под DOS. Еще куча всяких приблуд под это дело.
Написано на BC++ 3.1 с использованием asm (вставленный прямо в сишный сорс)
Ежель кому надобно не жалко.smile.gif

PM MAIL WWW ICQ   Вверх
Ученик
Дата 17.6.2004, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 10.6.2004

Репутация: нет
Всего: нет



Конечно надобно!
Хорошо бы на работающих примерах, подобно данному выше коду.
Нет пока ни знаний, ни опыта в использовании отдельных фрагментов,
описанных в доступной мне литературе.
PM MAIL   Вверх
Конструктор
Дата 18.6.2004, 09:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 641
Регистрация: 12.5.2004
Где: Москва

Репутация: нет
Всего: 10



Вроде отправилось.
PM MAIL WWW ICQ   Вверх
Ученик
Дата 18.6.2004, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 10.6.2004

Репутация: нет
Всего: нет



Спасибо, получил.

Пример запустил - оригинально! Есть что изучать.
Картинки созданы с помощью MTX_EDIT?

Какой путь прописывать в SETUP? К "файлам редактора" - это к папке MTX_EDIT?

PM MAIL   Вверх
Конструктор
Дата 21.6.2004, 06:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 641
Регистрация: 12.5.2004
Где: Москва

Репутация: нет
Всего: 10



Да, в setup прописывается путь к файлам MTX_EDIT. т.е. например C:\Dir\dir\MTX_EDIT. Картинки были выдраны из дума, сконвертированы в MTX и в grayscale переведены.

PM MAIL WWW ICQ   Вверх
shara
Дата 29.6.2004, 03:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 344
Регистрация: 29.6.2004
Где: печенье?

Репутация: нет
Всего: 2



я тут проходил мимо и про библиотечку услышал, я тоже такю себе хочу, если можно wink.gif
залейте на мыло [email protected]


--------------------
   с точки зрения аэродинамики шмель не может летать  
PM MAIL   Вверх
Конструктор
Дата 29.6.2004, 08:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 641
Регистрация: 12.5.2004
Где: Москва

Репутация: нет
Всего: 10



Вроде снова отправилось.
Добавлено @ 08:08
Вроде снова отправилось.
PM MAIL WWW ICQ   Вверх
shara
Дата 29.6.2004, 12:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 344
Регистрация: 29.6.2004
Где: печенье?

Репутация: нет
Всего: 2



ну спасибо, прикольная штука, однако


--------------------
   с точки зрения аэродинамики шмель не может летать  
PM MAIL   Вверх
Гость_lamer
Дата 30.10.2004, 23:32 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


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

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0534 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.