|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
08.12.2009, 04:54 | #1 |
Пользователь
Регистрация: 08.12.2009
Сообщений: 12
|
Редактор иконок
Привет всем !
Можете мне помочь мне нужен исходник для редактора иконок (для курсовой) не очень замудренный ! Просто чтобы он редактировал и ни4его лишнего ! Очень прошу помогите! Буду благодарен. |
08.12.2009, 15:37 | #2 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
Найди исходники любого редактора растрового, принципиальных различий нет, и добавь туда сохранение в формате ico.
Больше по такому вопросу тебе помочь ничем не смогут, не будут же за тебя программу писать. Да и искать в нете вместо тебя никто не будет.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
10.12.2009, 23:06 | #3 |
Пользователь
Регистрация: 08.12.2009
Сообщений: 12
|
#include <stdlib.h>
#include <stdio.h> #include <dos.h> #include <conio.h> #include <math.h> #define colors 256 typedef unsigned char BYTE; /* 1 byte */ typedef unsigned short WORD; /* 2 byte */ typedef unsigned int UINT; /* 2 byte */ typedef unsigned long DWORD; /* 4 byte */ typedef signed long LONG; /* 4 byte */ LONG width, // ширина BITMAP height, // высота BITMAP count, // ширина * высота Index; FILE *file; typedef struct tagBitmapFileHeader /* 14 byte */ { UINT bfType; // тип файла DWORD bfSize; // размер файла UINT bfReserved1; UINT bfReserved2; DWORD bfOffbits; // смещение данных битового образа от заголвка (байт) }BitmapFileHeader; BitmapFileHeader File_Header; typedef struct tagBitmapInfoHeader /* 40 byte */ { DWORD biSize; // число байт, занимаемых структурой LONG biWidth; // ширина битового образа в пикселах LONG biHeight; // высота битового образа в пикселах WORD biPlanes; // число битовых плоскостей устройства WORD biBitCount; // число битов на пиксел DWORD biCompression; // тип сжатия DWORD biSizeImage; // размер картинки в байтах LONG biXPelsPerMeter; // горизонт. разрешение устройства (пиксел/метр) LONG biYPelsPerMeter; // вертикальн. разрешение устройства (пиксел/метр) DWORD biClrUsed; // число используемых цветов DWORD biClrImportant; // число "важных" цветов }BitmapInfoHeader; BitmapInfoHeader Info_Header; typedef struct tagRGBQUAD /* 4 byte */ { BYTE rgbRED; // интенсивность красного BYTE rgbGREEN; // интенсивность зеленого BYTE rgbBLUE; // интенсивность голубого BYTE rgbRESERVED; }RGBQUAD; RGBQUAD *Rgb_Table; /*---------------------------------------------------*/ int CreateRGBTable() //создаем таблицу цветов BITMAP { Rgb_Table = (RGBQUAD*)malloc(colors * sizeof(RGBQUAD)); for (int i = 0; i < colors; i++) { // "заливаем" все оттенки серого Rgb_Table[i].rgbBLUE = i; Rgb_Table[i].rgbGREEN = i; Rgb_Table[i].rgbRED = i; Rgb_Table[i].rgbRESERVED = 0; } return(0); } /*---------------------------------------------------*/ int CreateFileHeader() //создаем заголовок файла { File_Header.bfType = 0x4D42; File_Header.bfSize = sizeof(BitmapFileHeader) + sizeof(BitmapInfoHeader) + count + sizeof(RGBQUAD) * colors - 1; File_Header.bfReserved1 = 0; File_Header.bfReserved2 = 0; File_Header.bfOffbits = sizeof(BitmapFileHeader) + sizeof(BitmapInfoHeader) + colors * sizeof(RGBQUAD); return(0); } /*---------------------------------------------------*/ int CreateInfoHeader() //создаем заголовок BITMAP { Info_Header.biSize = sizeof(BitmapInfoHeader); Info_Header.biWidth = width; Info_Header.biHeight = height; Info_Header.biPlanes = 1; Info_Header.biBitCount = (int)(log(colors)/log(2)); Info_Header.biCompression = 0; Info_Header.biSizeImage = File_Header.bfSize - (sizeof(BitmapFileHeader) + sizeof(BitmapInfoHeader) + sizeof(RGBQUAD) * colors); Info_Header.biXPelsPerMeter = 0; Info_Header.biYPelsPerMeter = 0; Info_Header.biClrUsed = 0; Info_Header.biClrImportant = 0; return(0); } /*---------------------------------------------------*/ int main() { clrscr(); printf("Create bitmap file ..."); width = 800; height = 600; count = height * width; CreateRGBTable(); CreateFileHeader(); CreateInfoHeader(); file = fopen("tmp.bmp", "wb"); fwrite(&File_Header,sizeof(BitmapFi leHeader),1,file); fwrite(&Info_Header,sizeof(BitmapIn foHeader),1,file); for (int i = 0; i < colors; i++) fwrite(&Rgb_Table[i], sizeof(RGBQUAD), 1, file); fseek(file, File_Header.bfOffbits, 0); unsigned char indx = colors - 1; do{ fputc(indx, file); Index++; indx--; if (indx <= 0) indx = colors - 1; }while(Index < count); fclose(file); return(0); } Можешь подредактировать что бы все норм было ! Я просто не особо шаренный в этой сфере , чтоб был похож на полноценный редактор иконок ! ПЛЗ |
10.12.2009, 23:06 | #4 |
Пользователь
Регистрация: 08.12.2009
Сообщений: 12
|
и вообще то это или нет
|
12.12.2009, 01:43 | #5 |
Студент, не
Старожил
Регистрация: 29.01.2009
Сообщений: 2,067
|
На каком языке-то нужно? На C++?
То что вы нашли - код программы на C++... Консольной... о_О И оно у меня почему-то вылетает на "fwrite(&File_Header, sizeof(BitmapFileHeader), 1, file);" (не стал разбирался почему)...
I am the First of Cyber Evolution...
I am the First to Program your Future... |
13.12.2009, 02:40 | #6 |
Пользователь
Регистрация: 08.12.2009
Сообщений: 12
|
а где мне достать на делфи я вообще не знаю помоги найти пожалуйста !
|
13.12.2009, 03:20 | #7 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Помогаю.
..Delphi7\Demos\Doc\Graphex плюс Код:
А если не хочется - милости просим во фриланс - там полная халява по разумным ценам... |
14.12.2009, 01:53 | #8 |
Пользователь
Регистрация: 08.12.2009
Сообщений: 12
|
что за фриланс и что тут надо менять ?
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Подборка иконок .ico | GenniY | Свободное общение | 3 | 19.11.2009 19:45 |
Редактор для создания 3D иконок под XP\Vista\Mac | aiswork | Софт | 0 | 19.05.2009 01:20 |
Извлечение иконок из PE файлов | uberchel | Софт | 1 | 20.03.2009 00:14 |
Загрузка иконок файлов | igroman | Общие вопросы Delphi | 4 | 29.05.2008 09:00 |
отображение иконок в DBGrid | Yoger | БД в Delphi | 3 | 04.03.2007 02:33 |