Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.05.2008, 22:57   #1
www_2008
 
Регистрация: 12.05.2008
Сообщений: 4
По умолчанию Помогите определить макс кол цветов картинки 32x32 пикс объёмом 512 байт

картинка имеет размер 32х32 пикселя, объем памяти выделенной картинки составляет 512 байт. определить максимальное количество цветов для этой картинки...заранее вам благодарны за ответ и уделенное время.
www_2008 вне форума Ответить с цитированием
Старый 12.05.2008, 23:48   #2
www_2008
 
Регистрация: 12.05.2008
Сообщений: 4
По умолчанию

Начинать с этого?

begin
if (Image2.Picture.Height <> 32) or (Image2.Picture.Width <> 32) then
begin
ShowMessage('Исходный рисунок не 32х32');
exit;
www_2008 вне форума Ответить с цитированием
Старый 12.05.2008, 23:50   #3
www_2008
 
Регистрация: 12.05.2008
Сообщений: 4
По умолчанию

var
MAnd, MXor, MOsn, MCol: array of Byte;
MPix, MOrg: array of TColor;
a, b, c, n, m: integer;
Bt, Bu, Indicator: Byte;
p: TColor;
k: boolean;
F: file;
LenOsn, LenXor, LenCol: integer;
begin
if (Image2.Picture.Height <> 32) or (Image2.Picture.Width <> 32) then
begin
ShowMessage('Исходный рисунок не 32х32');
exit;
end;
{Заполнение массивов MPix и MAnd}
{Активизация массивов}
SetLength(MPix, 1024);
SetLength(MAnd, 128);
{Установка счетчиков}
b := 0; //Счетчик битов
a := 0; //Счетчик пикселов картинки
c := 0; //Счетчик байтов маски MAnd
Bt := 0; //Формируемый байт маски MAnd
for m := 31 downto 0 do
for n := 0 to 31 do
begin
MPix[a] := Image2.Canvas.Pixels[n, m];
p := MPix[a];
if p = RGB(255, 255, 255) then
begin

или всё не так?
www_2008 вне форума Ответить с цитированием
Старый 13.05.2008, 17:15   #4
Plague
Забанен
Форумчанин Подтвердите свой е-майл
 
Аватар для Plague
 
Регистрация: 01.11.2006
Сообщений: 420
По умолчанию

32*32=1024 пикселей
1024 = 2^10
но надо еще гдето хранить координаты точки (точек)
следовательно ответ 9 цветов.
Если ничто другое не помогает, прочтите, наконец, инструкцию! Аксиома Кана
Plague вне форума Ответить с цитированием
Старый 13.05.2008, 20:25   #5
www_2008
 
Регистрация: 12.05.2008
Сообщений: 4
По умолчанию

на самом деле все не так уж и страшно:
32х32=1024
512х8=4096
4096/1024=4 - глубина цвета
2^4=16
программка тупенькая получается на паскале,
возведение в степень - функцией нужно воспользоваться exp(...) и в диалоге вввести данные, пром переменные для размера картинки в битах и глибины цвета... и все
www_2008 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Среди 20 введёных чисел определить чётные, распечатать их, определить min Spade Помощь студентам 4 15.06.2008 18:39
Получение 2х цветов и их сравнение Zeraim Помощь студентам 3 26.04.2008 15:43
Сравнивание цветов Zeraim Общие вопросы Delphi 7 26.04.2008 12:49
Как определить размера картинки Kocapb Общие вопросы C/C++ 7 18.11.2007 16:06
Перевод картинки в двухмерный массив RGB цветов Alar Общие вопросы Delphi 8 09.08.2007 14:24