Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

эффект погасания

13K
19 апреля 2006 года
ponchik
20 / / 07.04.2006
На Паскале можно сделать, так сказать, эффект погасания картинки? Если да, то как?
391
19 апреля 2006 года
Archie
562 / / 03.02.2005
Цитата:
Originally posted by ponchik
На Паскале можно сделать, так сказать, эффект погасания картинки? Если да, то как?



В палитровом режиме меняешь палитру циклически для всех цветов до нуля. Для непалитрового режима нужно перерисовывать изображение.

13K
19 апреля 2006 года
ponchik
20 / / 07.04.2006
Цитата:
Originally posted by Archie
В палитровом режиме меняешь палитру циклически для всех цветов до нуля. Для непалитрового режима нужно перерисовывать изображение.



А что значит палитровый и непалитровый режим?

391
20 апреля 2006 года
Archie
562 / / 03.02.2005
Цитата:
Originally posted by ponchik
А что значит палитровый и непалитровый режим?


Палитровый - это когда цвет точки задается номером в палитровой таблице (в которой записаны соответствующие значения RGB). Например, видеорежимы с 4-мя, 16-ю и 256-ю цветами - палитровые. Если цвет точки в таком режиме, скажем 2, то видеоадаптер при отрисовке полезет в таблиту палитры, найдет там для индекса 2 соответствующие RGB значения и отрисует точку в соответствующем цвете. В непалитровом режиме цвет точки определяется непосредственно значением RGB.

13K
20 апреля 2006 года
ponchik
20 / / 07.04.2006
Цитата:
Originally posted by Archie
Палитровый - это когда цвет точки задается номером в палитровой таблице (в которой записаны соответствующие значения RGB). Например, видеорежимы с 4-мя, 16-ю и 256-ю цветами - палитровые. Если цвет точки в таком режиме, скажем 2, то видеоадаптер при отрисовке полезет в таблиту палитры, найдет там для индекса 2 соответствующие RGB значения и отрисует точку в соответствующем цвете. В непалитровом режиме цвет точки определяется непосредственно значением RGB.



У меня 16-ти цветный видеорежим, но разве этот эффект возможен с таким количеством цветов?
А что надо, чтоб было 256 цветов? [для TP7]Специальный модуль? Ведь в модуле Graph только 16 цветов, насколько я знаю.

391
20 апреля 2006 года
Archie
562 / / 03.02.2005
Цитата:
Originally posted by ponchik
У меня 16-ти цветный видеорежим, но разве этот эффект возможен с таким количеством цветов?
А что надо, чтоб было 256 цветов? [для TP7]Специальный модуль? Ведь в модуле Graph только 16 цветов, насколько я знаю.


Для 16-ти цветового режима работает стандартная процедура SetRGBPalette(). Эффект угасания с ней можно реализовать, например, так:

Код:
var
  colors : array [0..15] of record r, g, b : byte end;
  r, g, b, c : byte;
  i : integer

. . . . .

begin
  { Saving current palette }
  for i:=0 to 15 do
    GetRGBPalette(i, colors.r, colors.g, colors.b);

  { Palette fading }
  for i:=255 to 0 do
    for c:=0 to 15 do
    begin
      GetRGBPalette(c, r, g, b);
      r:= r - 1;
      if r < 0 then r:= 0;
      g:= g - 1;
      if g < 0 then g:= 0;
      b:= b - 1;
      if b < 0 then b:= 0;
      SetRGBPalette(c, r, g, b);
      delay(10);
    end;
end;
. . . . . .


Ну как-то так. Уже не помню точно...
А для 256-ти цветного режима к трупоПаскалю bgi драйвер был - поищи в нете. Режим 320 на 200, 256цветов можно установить самому вручную, правда всё рисовани тоже придется вручную писать.
13K
20 апреля 2006 года
ponchik
20 / / 07.04.2006
Ясно! Спасибо!;)
325
24 апреля 2006 года
Franky
723 / / 10.08.2005
попробуй поработать палитрой:
RGB - не более 64!
port[3f8]:=(color)
port[3f9]:=(r)
port[3f9]:=(g)
port[3f9]:=(b)

Считать палитру:
port[3f7]:=(color)
(r):=port[3f9]
т.д.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог