Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Графика и игры
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 04.02.2011, 21:48
amdelphi amdelphi вне форума
Прохожий
 
Регистрация: 04.02.2011
Сообщения: 2
Репутация: 10
По умолчанию Распознать цвет пиксела

Распознать цвет пиксела картинки в Image
Пишу:
Код:
c:=Image1.Picture.Bitmap.Canvas.Pixels[10,10];
Когда выполняеться эта команда Image изчезает с формы. В переменную "с" записываеться "-1"
Ответить с цитированием
  #2  
Старый 05.02.2011, 00:22
Аватар для movnet
movnet movnet вне форума
Начинающий
 
Регистрация: 24.07.2008
Сообщения: 127
Версия Delphi: Delphi 7
Репутация: 23
По умолчанию

Цитата:
Сообщение от amdelphi
Распознать цвет пиксела картинки в Image
Пишу:
Код:
c:=Image1.Picture.Bitmap.Canvas.Pixels[10,10];
Когда выполняеться эта команда Image изчезает с формы. В переменную "с" записываеться "-1"
Так действительно должно работать.

Попробовал. работает без проблем.

Последний раз редактировалось movnet, 05.02.2011 в 00:24.
Ответить с цитированием
  #3  
Старый 05.02.2011, 11:15
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

amdelphi, а в Image1 не jpeg случаем? а то если там не Bitmap, то при Image1.Picture.Bitmap.Canvas.Pixels[10,10] картинка исчезнет.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #4  
Старый 05.02.2011, 12:40
amdelphi amdelphi вне форума
Прохожий
 
Регистрация: 04.02.2011
Сообщения: 2
Репутация: 10
По умолчанию

Цитата:
Сообщение от NumLock
amdelphi, а в Image1 не jpeg случаем? а то если там не Bitmap, то при Image1.Picture.Bitmap.Canvas.Pixels[10,10] картинка исчезнет.
Да действительно jpeg....получаеться что с ним это не работает.
Спасибо!!!
Ответить с цитированием
  #5  
Старый 05.02.2011, 21:56
Аватар для GriLab
GriLab GriLab вне форума
Начинающий
 
Регистрация: 26.11.2010
Адрес: Минск
Сообщения: 190
Версия Delphi: XE 15.0.3890
Репутация: 415
По умолчанию

А так не сойдет? Должно работать:
Код:
Image1.Canvas.Pixels[10, 10]
Ответить с цитированием
  #6  
Старый 07.02.2011, 11:12
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Цитата:
Сообщение от GriLab
А так не сойдет? Должно работать:
Код:
Image1.Canvas.Pixels[10, 10]
нет, не должно:
TImage = class(TGraphicControl)
public
property Canvas: TCanvas read GetCanvas;

function TImage.GetCanvas: TCanvas;
var
Bitmap: TBitmap;
begin
if Picture.Graphic = nil then
begin
Bitmap := TBitmap.Create;
try
Bitmap.Width := Width;
Bitmap.Height := Height;
Picture.Graphic := Bitmap;
finally
Bitmap.Free;
end;
end;
if Picture.Graphic is TBitmap then
Result := TBitmap(Picture.Graphic).Canvas
else
raise EInvalidOperation.Create(SImageCanvasNeedsBitmap);
end;
вот поэтому "Can only modify an image if it contains a bitmap" и получим для jpeg
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 05:55.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter