Поиск по сайту

Результаты поиска по тегам 'TBitmap'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип публикаций


Категории и разделы

  • Общие вопросы
    • Анимация
    • Графика
    • Стили
    • Базы данных и REST
    • Компоненты
    • Положение, размеры, выравнивание
    • Работа с текстом
    • Приложение и формы
    • Отладка
    • Развертывание приложений
    • Вопросы по языку Object Pascal и RTL
    • Общая информация о TControl
    • События
    • Прочие вопросы
  • Вопросы по платформам
    • Android
    • iOS
    • OSX
    • Windows
    • Windows Phone
    • Linux
  • Вопросы по использованию RAD Studio
    • Лицензирование
    • Сборка проектов
    • Multi-Device Designer
    • Редактор кода
    • Вопросы
  • Обучение
    • Основная информация
    • Вопросы
    • Отзывы
  • Поиск специалистов по FireMonkey
    • Консультации
    • Ищу подрядчика
  • API интернет сервисов
    • ВКонтакте API
    • Google Maps API
    • Yandex деньги
  • Дополнительные ресурсы по FireMonkey
    • Сторонние компоненты
    • Приложения, написанные с использованием FireMonkey
    • Примеры
    • Руководства
    • Шаблоны
    • Статьи и заметки
    • Информация о версиях RAD Studio
    • Новости
  • Организация работы данного форума
    • Правила форума
    • Нарушения правил форума
    • Предложения об организации форума
    • Проблемы
  • Видеокурсы
    • Основная информация
    • Курсы
    • Предложения и голосования за новые курсы
    • Вопросы

Категории

  • Курсы



Фильтр по количеству...

Найдено 20 результатов

  1. Часто при отрисовке битмапа на холсте используется метод DrawBitmap, где, в частности, в качестве аргумента необходимо указать прямоугольные области источника (SrcRect) и приемника (DestRect). Эти прямоугольники имеют формат записи (Left, Top, Right, Bottom). При указании в качестве SrcRect всего битмапа целиком как здесь на формуме так и в книге Осипова я встречал такую запись: RectF(0,0,ABitmap.Width,ABitmap.Height) Но моя логика подсказывает, что такой битмап должен иметь размеры на 1 пиксель по горизонтали и вертикали больше, чем на самом деле, ведь первый пиксель имеет координаты (0;0), а последний (ABitmap.Width,ABitmap.Height). Что, наверное, приводит к искажениям при отображении битмапа на холсте. Мне думается, что при рисовании целого битмапа следует писать так: RectF(0,0,ABitmap.Width-1,ABitmap.Height-1) Прав ли я или не прав? Если нет, то почему?
  2. Привет, друзья! Подскажите - как, с максимально возможной скоростью, определить отсутствие изображения как такового в 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;
  3. доброго времени суток подскажите метод как засунуть иконку в bitmap получаю иконку папки и ума не приложу как ее преобразовать var infoFile:SHFILEINFO; flag:Cardinal; begin try flag:=SHGFI_ICON; flag:=flag or SHGFI_SMALLICON; ZeroMemory(Addr(infoFile),SizeOf(infoFile)); SHGetFileInfo('C:\',0,infoFile,SizeOf(infoFile),flag); // infofile.hIcon (HICON) как присвоить его картинки Image1.Bitmap :=
  4. Delphi Seattle, Android 5.0.1 Формирую картинку через ScanLine. На выходе полученный битмап рисуется на полотне TImage, на котором перед этим был нарисован Rect. GlobalBitmap - формированный tbitmap. with ObjectPreviewImage.Bitmap.Canvas do begin BeginScene; Clear(TAlphaColorRec.White); DRect := TRectF.Create(0, 0, GlobalBitmap.Width + 8, GlobalBitmap.Height + 8); DrawRect(DRect, 0, 0, AllCorners, StealthForm.ObjectPreviewImage.AbsoluteOpacity); DRect := TRectF.Create(0, 0, GlobalBitmap.Width, GlobalBitmap.Height); DrawBitmap(GlobalBitmap,DRect, TRectF.Create(2, 2, GlobalBitmap.Width + 2, GlobalBitmap.Height + 2), 1); EndScene; end; Проблема собственно в чем - в андроидной версии слева и внизу рамка "съедается". В Win32 версии все отлично. На прилагаемых скриншотах это четко видно. Документацию читал, гугл гуглил. Что я делаю не так? Или это неизвестные подводные камни андроидного рисования на полотне? P.S. Картинка одинаковая, цвет к определенной области применяется не верно. Походу тоже андроидные приколы. Но с этим я уже разберусь. P.P.S. Уже разобрался с цветом - под андроидом Blue и Red в пикселе надо поменять местами. А насчет канвы - не получается никак. P
  5. Друзья, выручайте! Уже на сутки "завис"... Приложение под Android должно загружать картинки в TListViewItem (аватарки) с HTTP. Ресурс доступен. Картинки на нем тоже. Использую iDHTTP (iDHTTP тоже "кидал" на форму и создавал динамически - результат один) и TMemoryStream. Код ниже. Само приложение на устройстве выдает ошибку: Access violation at address 559E45CC accessing address 00000000 Отладчик выдает: class segmentation fault 11 Опытным путем установил, что ошибка, скорее всего, возникает при попытке заполнения TMemoryStream (пробовал TMemoryStream.LoadFromFile - то же самое, хотя приложением TListViewItem.BitMap.LoadFromFile с этим же файлом проходит на ура и все работает). Во всех случаях используются PNG-картинки небольшого размера и разрешения: 20-25 кБ. В коде адрес картинки указан тестовый осознанно (в приложение картинка по используемому адресу доступна). Часть кода: var item:TListViewItem; pic:TMemoryStream; idhttp1:tidhttp; ... idhttp1.Create(Application); pic:=TMemoryStream.Create; try IdHTTP.Get('http://site.ru/icons/icon.png, pic); try Item.Bitmap.LoadFromStream(pic); except end; finally pic.Free; IdHTTP1.Free; end; Вопроса 2: Что я делаю не так? Подскажите, пож-та, хороший пример для выполнения такой задачи (желательно с применением потоков - чтобы приложение не висло на период загрузки данных из HTTP). Спасибо большое!
  6. Здравствуйте. Хочу загнать карту в приложение. Т.е. сделать ПринтСрин нескольких участков, слить их в одно изображение в фотошопе, а потом иметь возможность просматривать на смартфоне под android. Что бы можно было пальцами приблизить, подвигать карту. Какой компонет посоветуете?
  7. Как вывести текст на изображение так, чтобы его можно было сохранить в .jpg формате. P.S. Нет метода TextOut у Image.
  8. Загружаю картинку в TBitmap из TMemoryStream, но иногда в TBitmap копируется только часть картинки. Загружаю следующим кодом: var ResourceStream: TResourceStream; Bitmap: TBitmap; begin ResourceStream := TResourceStream.Create(hInstance, 'IMAGE_NAME', RT_RCDATA); ResourceStream.Position := 0; Bitmap.LoadFromStream(ResourceStream); ResourceStream.SaveToFile('img_res.png'); Bitmap.SaveToFile('img_bitmap.png'); FreeAndNil(ResourceStream); end; В итоге в img_res.png нормальное изображение, а в img_bitmap.png первые N байт оригинала, при одинаковом размере картинки N одинаковое. С TMemoryStream аналогично. Как исправить?
  9. Я создаю TListViewItem и добавляю её в TListView, но как добавить картинку слева? Вот код создания ячейки: TListViewItem *Item = ListView1->Items->Add(); Item->Text = "123";
  10. Всем доброго времени суток! Через Deployment добавил все нужные картинки. В моем случае мои картинки изменяться никак не будут, и открываются только для чтения. Поэтому я не стал менять пути для них. В связи с этим столкнулся с проблемой - как же собственно получить доступ к ним? То есть мне нужно нарисовать одну из тех картинок. Я не знаю как правильно это делать. Я подключил вверху System.IOUtils, чтобы получить доступ к TPath. Пробовал разные варианты: просто рисовать картинку с этим именем: form1.Canvas.DrawBitmap(fon,RectF(0,0,320,240),RectF(30,30,320,240),1,true); пробовал указывать так еще: fon:=Tbitmap.CreateFromFile(TPath.Combine(TPath.GetDocumentsPath, 'fon.bmp')); а затем рисовал таким же способом: form1.Canvas.DrawBitmap(fon,RectF(0,0,320,240),RectF(30,30,320,240),1,true); Читал тему на вашем форуме с названием "Включение своих файлов в приложение", но это не помогло мне. Не знаю, может надо как ресурс еще их подключить? Хотя мне кажется я неправильно использую TPath. Заранее спасибо всем за помошь.
  11. Здравствуйте. Как изменить цвет отдельного пикселя, а точнее сделать его полностью прозрачным? Например в image загруженная картинка. И надо пиксель с координатами x75 и y50 сделать невидимым.
  12. Как узнать поддерживаемый максимально допустимы размер изображения в TBitmap? Поскольку не любое большое изображение можно загрузить в TBitmap.
  13. Коллеги Есть проблема: Есть картинка созданная средствами сторонней dll, от нее у меня только HBITMAP Как мне ее перекинуть в TBitmap, и вывести ее например в контрол TImage?
  14. Стоит задача программно добавить изображение в MultiResBitmap. Как это можно сделать?
  15. Подскажите пожалуйста глупому человеку , как можно загрузив изображение: buf: TBitmap; buf.LoadFromFile('.bmp'); Определить цвет нужного мне пикселя (X,Y), и нарисовать хотя бы линию этого цвета на форме используя обычный: Canvas.DrawLine
  16. Прошу помощи,как вывести иконки в ListView которые хранятся в StyleBook ? у меня есть база,в ней хранятся ID иконок, которые нужно выводить,в StyleBook лежат иконки, может у кого есть подобный опыт?!
  17. Метод доступа к пикселям TBitmapData.GetScanline работает быстрее чем TBitmap.Map с последующим циклом? Можете привести пример работы с TBitmapData.GetScanline?
  18. Доброе время суток! При рисовании на канве, например TImage абсолютно отсутствует антиалайсинг. Даже TShape с закругленными углами в design-time отрисовывается красиво, а в run-time без всякого сглаживания. Никакой информации по этому поводу не нашел. Может кто подскажет, как рисовать с антиалайсингом? В DesignTime: В Runtime: Пишу для android на XE5.
  19. Здравствуйте. Решил не спамить в одну ветку, хоть и смежные, но все же разные вопросы. В своей компоненте хочу использовать Image. И что бы картинка у image менялась в зависимости от значения переменной. Вроде такого (vcl): if sType = 'sun' then image1.Picture.LoadFromFile('../sun.png'); if sType = 'moon' then image1.Picture.LoadFromFile('../moon.png'); Т.е. я так раньше делал. А как это сделать в своем компоненте, на FMX? Подскажите пожалуйста.
  20. Создаю в коде Timage и загружаю в него картинку var MyImage: Timage; begin .... MyImage:=TImage.Create(Self); .... MyImage.MultiResBitmap.Add.Bitmap.LoadFromFile('MyPic.png'); .... end; Как выставить прозрачный цвет default? пытаюсь выставить так : MyImage.MultiResBitmap.TransparentColor := Default; Но выдает ошибку [dcc32 Error] Unit1.pas(46): E2029 '(' expected but ';' found Как добиться того же результата что и при выборе параметра в ручную? Код проекта: TImage.zip