Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Delphi/Linux 10.4 что можно использовать в качестве замены VCL'ного TBitmap?  [new]
makhaon
Member

Откуда: A galaxy far far away
Сообщений: 3691
В RTL своего битмапа нет. VCL'ный не полностью функционален в Линуксе (в частности - нет ScanLine и еще некоторых частей). Что можно использовать в качестве замены? Можно какую-то платную либу, если бесплатного аналога нет.
21 июн 20, 14:02    [22154555]     Ответить | Цитировать Сообщить модератору
 Re: Delphi/Linux 10.4 что можно использовать в качестве замены VCL'ного TBitmap?  [new]
asviridenkov
Member

Откуда:
Сообщений: 4008
makhaon,

А что не так с FMX Bitmap и при чем тут VCL?
21 июн 20, 14:04    [22154559]     Ответить | Цитировать Сообщить модератору
 Re: Delphi/Linux 10.4 что можно использовать в качестве замены VCL'ного TBitmap?  [new]
Соколинский Борис
Member

Откуда: Москва
Сообщений: 12682
makhaon
в частности - нет ScanLine и еще некоторых частей
Что, серьезно - есть битмап но нет доступа к буферу? Что за ламеры писали поддержку для пингвина?
21 июн 20, 14:12    [22154564]     Ответить | Цитировать Сообщить модератору
 Re: Delphi/Linux 10.4 что можно использовать в качестве замены VCL'ного TBitmap?  [new]
rgreat
Member

Откуда:
Сообщений: 6019
makhaon,

Сам бы хотел знать. Но пока кроме fmx ничерта нет.
21 июн 20, 14:38    [22154580]     Ответить | Цитировать Сообщить модератору
 Re: Delphi/Linux 10.4 что можно использовать в качестве замены VCL'ного TBitmap?  [new]
Vizit0r
Member

Откуда: Одесса
Сообщений: 788
чем ваc Map не устраивает?

      Bitmap.Map(TMapAccess.ReadWrite,BitmapData);
      BitmapData.SetPixel(p.X, p.Y,fRadarCol.GetRadarColor(groundItems[i].Id + $4000));
      BitmapData.SetPixel(p.X, p.Y + 1,fRadarCol.GetRadarColor(groundItems[i].Id + $4000));
      Bitmap.Unmap(BitmapData);
21 июн 20, 15:08    [22154597]     Ответить | Цитировать Сообщить модератору
 Re: Delphi/Linux 10.4 что можно использовать в качестве замены VCL'ного TBitmap?  [new]
Соколинский Борис
Member

Откуда: Москва
Сообщений: 12682
Vizit0r,

Попиксельная обработка - это адски медленно. В самом деле нет методов для карты в целом?
21 июн 20, 16:00    [22154610]     Ответить | Цитировать Сообщить модератору
 Re: Delphi/Linux 10.4 что можно использовать в качестве замены VCL'ного TBitmap?  [new]
Vizit0r
Member

Откуда: Одесса
Сообщений: 788
Соколинский Борис
Vizit0r,

Попиксельная обработка - это адски медленно. В самом деле нет методов для карты в целом?


makhaon
В RTL своего битмапа нет. VCL'ный не полностью функционален в Линуксе (в частности - нет ScanLine и еще некоторых частей)


  {$IFDEF HAS_FMX}
  entry.icon.Map(TMapAccess.ReadWrite,BitmapData);
  {$ENDIF}
  SetLength(scanLines, entry.icon.Height);
  for i := 0 to entry.icon.Height - 1 do
  {$IFDEF HAS_FMX}
  scanLines[i] := BitmapData.GetScanline(i);
  {$ELSE}
  scanLines[i] := entry.icon.ScanLine[i];
  {$ENDIF}
....

  {$IFDEF HAS_FMX}
  entry.icon.Unmap(BitmapData);
  {$ENDIF}


Сообщение было отредактировано: 21 июн 20, 17:58
21 июн 20, 17:55    [22154646]     Ответить | Цитировать Сообщить модератору
 Re: Delphi/Linux 10.4 что можно использовать в качестве замены VCL'ного TBitmap?  [new]
makhaon
Member

Откуда: A galaxy far far away
Сообщений: 3691
Vizit0r,

ок, благодарю, поищу что там как
21 июн 20, 19:56    [22154687]     Ответить | Цитировать Сообщить модератору
 Re: Delphi/Linux 10.4 что можно использовать в качестве замены VCL'ного TBitmap?  [new]
rashid.abzalov
Member

Откуда:
Сообщений: 119
makhaon,

>>VCL'ный не полностью функционален в Линуксе (в частности - нет ScanLine и еще некоторых частей).

Что значит неполностью функционален? Сейчас его вообще ни как нельзя использовать под Linux - он просто не скомпилируется:
- TBitmap объявлен в Vcl.Graphics.pas, который не сам по себе не скомпилируется под Linux (без рихтовки конечно)
- использование Winapi.Windows
- вызова WinApi
- вызова GDI

Я конечно не рассматривал вариант с выдергиваением TBitmap из модуля Vcl.Graphics.pas и подпоркой или эмуляцией всех его вызовов WinApi и GDI.
26 июн 20, 19:34    [22157969]     Ответить | Цитировать Сообщить модератору
 Re: Delphi/Linux 10.4 что можно использовать в качестве замены VCL'ного TBitmap?  [new]
Vizit0r
Member

Откуда: Одесса
Сообщений: 788
rashid.abzalov
Я конечно не рассматривал вариант с выдергиваением TBitmap из модуля Vcl.Graphics.pas и подпоркой или эмуляцией всех его вызовов WinApi и GDI.


обязательно рассмотри.
26 июн 20, 20:44    [22158004]     Ответить | Цитировать Сообщить модератору
 Re: Delphi/Linux 10.4 что можно использовать в качестве замены VCL'ного TBitmap?  [new]
rashid.abzalov
Member

Откуда:
Сообщений: 119
Vizit0r,

Мне нечего рассматривать, у меня так уже реализовано.
А вот если топикстартер пошел по этому пути, то у него не должно возникать трудностей со ScanLine.

Я подумал, что он нашел какой-то другой вариант.

Сообщение было отредактировано: 26 июн 20, 21:14
26 июн 20, 21:17    [22158013]     Ответить | Цитировать Сообщить модератору
 Re: Delphi/Linux 10.4 что можно использовать в качестве замены VCL'ного TBitmap?  [new]
rgreat
Member

Откуда:
Сообщений: 6019
rashid.abzalov
Vizit0r,

Мне нечего рассматривать, у меня так уже реализовано.
Не поделишься?
26 июн 20, 23:22    [22158045]     Ответить | Цитировать Сообщить модератору
 Re: Delphi/Linux 10.4 что можно использовать в качестве замены VCL'ного TBitmap?  [new]
rashid.abzalov
Member

Откуда:
Сообщений: 119
rgreat,

Нет, не имею права.
27 июн 20, 00:05    [22158061]     Ответить | Цитировать Сообщить модератору
 Re: Delphi/Linux 10.4 что можно использовать в качестве замены VCL'ного TBitmap?  [new]
Vizit0r
Member

Откуда: Одесса
Сообщений: 788
половину вайна за собой таскаешь для поддержки незаменимого vcl bitmap ? Такое не повыкладываешь, да)))
27 июн 20, 09:17    [22158111]     Ответить | Цитировать Сообщить модератору
 Re: Delphi/Linux 10.4 что можно использовать в качестве замены VCL'ного TBitmap?  [new]
Соколинский Борис
Member

Откуда: Москва
Сообщений: 12682
rashid.abzalov

А вот если топикстартер пошел по этому пути, то у него не должно возникать трудностей со ScanLine.
Битмап внутре простой как 5 копеек и с этим проблем быть не должно.
Вот когда его нужно в качестве хоста для рисования использовать... если нет соответствующих функций ОС - явно не то, чем хочется заниматься.
27 июн 20, 09:48    [22158116]     Ответить | Цитировать Сообщить модератору
 Re: Delphi/Linux 10.4 что можно использовать в качестве замены VCL'ного TBitmap?  [new]
rashid.abzalov
Member

Откуда:
Сообщений: 119
Vizit0r,

Какой вайн, о чем ты?
Мне не нужно было портировать все 1 к 1 и дело ограничилось загрузкой, выгрузкой, ScanLine и попиксельным доступом - всё, остальное реализуется руками и по мере необходимости.
27 июн 20, 12:18    [22158168]     Ответить | Цитировать Сообщить модератору
 Re: Delphi/Linux 10.4 что можно использовать в качестве замены VCL'ного TBitmap?  [new]
rashid.abzalov
Member

Откуда:
Сообщений: 119
Соколинский Борис,

Это да, но про Canvas изначально не шло речи.
27 июн 20, 12:25    [22158170]     Ответить | Цитировать Сообщить модератору
 Re: Delphi/Linux 10.4 что можно использовать в качестве замены VCL'ного TBitmap?  [new]
makhaon
Member

Откуда: A galaxy far far away
Сообщений: 3691
rashid.abzalov,

канвас, увы, нужен. в общем, есть пока сложности. думаем.
27 июн 20, 20:04    [22158340]     Ответить | Цитировать Сообщить модератору
 Re: Delphi/Linux 10.4 что можно использовать в качестве замены VCL'ного TBitmap?  [new]
kealon(Ruslan)
Member

Откуда: Нижневартовск
Сообщений: 5952
Соколинский Борис
makhaon
в частности - нет ScanLine и еще некоторых частей
Что, серьезно - есть битмап но нет доступа к буферу? Что за ламеры писали поддержку для пингвина?
конечно нет
ибо аналог битмапа для XServer-а Pixmap вообще не в адресном пространстве программы

а если кто-то хочет странного, то он и должен это сам делать

makhaon,
давно уже использовал для fpc, кажется, вот этот проект - тынц но он платный

Сообщение было отредактировано: 29 июн 20, 11:56
29 июн 20, 11:54    [22158936]     Ответить | Цитировать Сообщить модератору
 Re: Delphi/Linux 10.4 что можно использовать в качестве замены VCL'ного TBitmap?  [new]
Док
Member

Откуда: Казань
Сообщений: 6699
del

Сообщение было отредактировано: 29 июн 20, 15:57
29 июн 20, 15:58    [22159138]     Ответить | Цитировать Сообщить модератору
 Re: Delphi/Linux 10.4 что можно использовать в качестве замены VCL'ного TBitmap?  [new]
Док
Member

Откуда: Казань
Сообщений: 6699
kealon(Ruslan)
кажется, вот этот проект - тынц но он платный

не должен быть платным. И продукт, и библа BGRA - все даром. По-крайней мере, под Лазарь.

И вообще они на донате сидят https://forum.lazarus.freepascal.org/index.php/topic,12037.0.html

Сообщение было отредактировано: 29 июн 20, 15:56
29 июн 20, 15:58    [22159139]     Ответить | Цитировать Сообщить модератору
 Re: Delphi/Linux 10.4 что можно использовать в качестве замены VCL'ного TBitmap?  [new]
kealon(Ruslan)
Member

Откуда: Нижневартовск
Сообщений: 5952
Док,

LGPL - а значит продавать уже проблема
29 июн 20, 16:49    [22159165]     Ответить | Цитировать Сообщить модератору
 Re: Delphi/Linux 10.4 что можно использовать в качестве замены VCL'ного TBitmap?  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 31199

29.06.2020 16:49, kealon(Ruslan) пишет:
> LGPL - а значит продавать уже проблема
>

бери деньги за саппорт, а не за продажу.

Posted via ActualForum NNTP Server 1.5

29 июн 20, 16:56    [22159168]     Ответить | Цитировать Сообщить модератору
 Re: Delphi/Linux 10.4 что можно использовать в качестве замены VCL'ного TBitmap?  [new]
rgreat
Member

Откуда:
Сообщений: 6019
BGRABitmap под Delphi не компилиться.
29 июн 20, 16:57    [22159169]     Ответить | Цитировать Сообщить модератору
 Re: Delphi/Linux 10.4 что можно использовать в качестве замены VCL'ного TBitmap?  [new]
rgreat
Member

Откуда:
Сообщений: 6019
В том смысле там что там очень криво настроено, не все компилится и не все работает.
29 июн 20, 17:25    [22159179]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Delphi Ответить