Модераторы: Snowy, Alexeis, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Использование scanline для image 
:(
    Опции темы
iff
Дата 14.8.2012, 16:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Администратор
**


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

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



Не могу вывести попиксельно изображение непосредственно в TImage.
Например:
Код

type TRow = array[word] of TRGBTriple; PRow = ^TRow;
var x, y: word;
const black: TRGBTriple = (rgbtBlue: 0; rgbtGreen: 0; rgbtRed: 0);
begin
  Image.Picture.Bitmap.Width := 500;
  Image.Picture.Bitmap.Height := 500;
  for y := 0 to 499 do
    for x := 0 to 499 do
      PRow(Image.Picture.Bitmap.ScanLine[y])[x] := black;
  Image.Refresh;
end;

или
Код

type TRow = array[word] of TRGBTriple; PRow = ^TRow;
var Row: PRow; x, y: word;
const black: TRGBTriple = (rgbtBlue: 0; rgbtGreen: 0; rgbtRed: 0);
begin
  Image.Picture.Bitmap.Width := 500;
  Image.Picture.Bitmap.Height := 500;
  for y := 0 to 499 do
  begin
    Row := Image.Picture.Bitmap.ScanLine[y];
    for x := 0 to 499 do
      Row[x] := black;
  end;
  Image.Refresh;
end;

конечно, можно создать отдельный bitmap, обработать его и загрузить в image (через св-во picture.bitmap).  Но не понятно именно почему непосредственный вывод не работает.

Добавлено через 8 минут и 25 секунд
Добавил
Код

Image.Picture.Bitmap.PixelFormat := pf24bit;

всё работает.

Добавлено через 11 минут и 49 секунд
Кстате, если загрузить в некий объект типа tbitmap изображение не 24-битное, а потом поставить "Bitmap.PixelFormat := pf24bit;", то его формат автоматически преобразуется и с ним можно будет работать как с 24-битным?



--------------------
DOS... Синей пеленой экран заполнил чистый DOS 
Мышь... Стала вдруг квадратной, потеряла форму мышь... 
Я разбил окно, девяностопятое мастдайное окно, 
И поставил DOS, и тогда увидел: Это счастье, — вот оно.  
PM MAIL WWW   Вверх
Illusion Dolphin
Дата 14.8.2012, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата

Кстате, если загрузить в некий объект типа tbitmap изображение не 24-битное, а потом поставить "Bitmap.PixelFormat := pf24bit;", то его формат автоматически преобразуется и с ним можно будет работать как с 24-битным?

Да


--------------------
В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен.
Шифрование и организация фотографий - Photo Database 4.5
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • По вопросам разработки игр стоит заглянуть сюда

FAQ раздела лежит здесь!


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

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема »


 




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


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

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