-
Похожий контент
-
- 1 ответ
- 720 просмотров
-
- 0 ответов
- 706 просмотров
-
- 7 ответов
- 1 390 просмотров
-
- 2 ответа
- 1 054 просмотра
-
- 3 ответа
- 895 просмотров
-
- 8 ответов
- 3 103 просмотра
-
- 9 ответов
- 2 467 просмотров
-
- 0 ответов
- 1 318 просмотров
-
- 2 ответа
- 1 395 просмотров
-
- 0 ответов
- 1 508 просмотров
-
-
Последние посетители 0 пользователей онлайн
- Ни одного зарегистрированного пользователя не просматривает данную страницу
Вопрос
AngryOwl
Привет, друзья!
Подскажите - как, с максимально возможной скоростью, определить отсутствие изображения как такового в TBitmap?
Т.е. - есть TBitmap. Он либо заполнен изображением (картинка), либо он - абсолютно черный прямоугольник.
Каким способом можно узнать - что в нем именно изображение? Т.е. - НЕ абсолютно черный прямоугольник...
И определить это нужно "мгновенно" (условно выражаясь).
Заранее всем благодарен за участие!
P.S. Варианты типа того что ниже - не предлагать)) Хотелось бы что-то "побыстрее"! Еще раз спасибо!
function IsBitmapEmpty(Bmp: TBitmap): Boolean; var X, Y : Integer; BmpData: TBitmapData; yAddr : Integer; AlphaCount : integer; begin Result := False; try AlphaCount := 0; Bmp.Map(TMapAccess.Read, BmpData); for Y := 0 to Bmp.Height div 2 do begin YAddr := Y * Bmp.Height; for X := 0 to Bmp.Width - 1 do if (PAlphaColorArray(BmpData.Data)^[YAddr + X] <> TAlphaColorRec.Null) and (PAlphaColorArray(BmpData.Data)^[YAddr + X] <> TAlphaColorRec.Black) then begin inc(AlphaCount); Break; end; if AlphaCount > 0 then Break; end; finally Bmp.Unmap(BmpData); Result := AlphaCount = 0; end; end;
Ссылка на комментарий
8 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.