Перейти к содержанию
Fire Monkey от А до Я

ophion

Пользователи
  • Постов

    28
  • Зарегистрирован

  • Посещение

  • Победитель дней

    2

ophion стал победителем дня 2 марта 2020

ophion имел наиболее популярный контент!

Информация о ophion

  • День рождения 16.07.1987

Контакты

  • Сайт
    http://ophion.ru
  • Skype
    gadiev

Информация

  • Пол
    Мужчина
  • Город
    Владикавказ

Посетители профиля

1 151 просмотр профиля
  1. Если своими силами, то вот необходимая информация http://www.adobe.com/devnet/pdf/pdf_reference.html
  2. Нет, пока пока нет времени, но стоит попробовать реализовать данную вещь через TBitmapSurface (FMX.Surfaces.TBitmapSurface)
  3. Конечно стоит сообщать. Может стоит даже отдельную ветку завести, куда просить пользователей добавлять найденные библиотеки.
  4. Возможно так var Item: TCustomBitmapItem; Size: TSize; begin ImageList1.BitmapItemByName('тут пишем Source item name (указывается при добавлении нового изображения) как правило представлент точно так же как имя файла изображения', Item, Size); Image1.Bitmap.Assign(Item.Bitmap); end;
  5. Вам же написали, используйте OnTap прекрасно работает, не мешает при скроле. Вы хотите сказать что это не костыль?
  6. Судя по всему "решения из коробки" нет. Будем писать костыли... но считаю что наличие такой возможности по умолчанию для TScrollBox было бы не лишним. Спасибо за ответы. Тема открыта, может кто-то сталкивался с такой ситуацией. Не ленитесь делится опытом и кодом тут.
  7. Вот пример того, как писать и читать BLOB procedure SaveToFireDACBlob; var MemStream: TMemoryStream; begin FireDAC.Connected := True; MemStream := TMemoryStream.Create; try Image1.Bitmap.SaveToStream(MemStream); MemStream.Seek(0,0); FDQueryInsert.ParamByName('Media').LoadFromStream(MemStream,ftBlob); FDQueryInsert.ParamByName('MType').AsString := '0'; FDQueryInsert.ExecSQL(); except on e: Exception do begin ShowMessage(e.Message); end; end; MemStream.Free; FireDAC.Connected := False; end; procedure LoadFromFireDACBlob; var BlobStream: TStream; begin FireDAC.Connected := True; try FDQuerySelect.Open; FDQuerySelect.First; while(not FDQuerySelect.EOF)do begin // access a stream from a blob like this BlobStream := FDQuerySelect.CreateBlobStream(FDQuerySelect.FieldByName('Media'),TBlobStreamMode.bmRead); // access a string from a field like this if (FDQuerySelect.FieldByName('MType').AsString='0') then begin // load your blob stream data into a control ImageViewer.Bitmap.LoadFromStream(BlobStream); end; BlobStream.Free; FDQuerySelect.Next; end; except on e: Exception do begin //ShowMessage(e.Message); end; end; FireDAC.Connected := False; end; {источник http://www.fmxexpress.com/read-and-write-a-blob-field-using-firedac-with-firemonkey-on-android-and-ios/} Касательно работы с изменением качества/размера, считаю что необходимо использовать TBitmapSurface (unit FMX.Surfaces)
  8. Добрый день. В рантайме создаются TButton и помещаются в TVertScrollBox. Если во время прокручивания нажать пальцем на TButton, то срабатывает событие OnClick. Собственно вопрос... как избежать такого поведения? Т.е. как разрешить нажатие на кнопки только после того, как прокручивание остановилось?
  9. Там образец кода есть var QRCode: TDelphiZXingQRCode; QRCodeBitmap:TBitmap; Row, Column: Integer; pixelColor : TAlphaColor; vBitMapData : TBitmapData; rSrc, rDest : TRectF; s : widestring; begin QRCode := TDelphiZXingQRCode.Create; try QRCode.Data := edtText.Text; QRCode.Encoding := TQRCodeEncoding(cmbEncoding.ItemIndex); QRCode.QuietZone := StrToIntDef(edtQuietZone.Text, 4); QRCodeBitmap.SetSize(QRCode.Rows, QRCode.Columns); for Row := 0 to QRCode.Rows - 1 do begin for Column := 0 to QRCode.Columns - 1 do begin if (QRCode.IsBlack[Row, Column]) then pixelColor := TAlphaColors.Black else pixelColor := TAlphaColors.White; if QRCodeBitmap.Map(TMapAccess.maWrite, vBitMapData) then try vBitMapData.SetPixel(Column, Row, pixelColor); finally QRCodeBitmap.Unmap(vBitMapData); end; end; end; finally QRCode.Free; end; {далее выводим битмап QRCodeBitmap на TImage} end;
  10. Код проекта и дполнительньно-используемый юнит есть по ссылке, где собственно и приводится пример.
  11. Поднимаю тему, поскольку вопрос генерации QR-кода на устройстве под управлением Android, не решен.
  12. Будет зависеть от языка ОС (если не ошибаюсь)
  13. Используйте MessageDlg. На андроиде немного инная реализация, требующая добавления асинхронной процедуры обрабоки результатов, полученных от MessageDlg. Будет что-то вроде: MessageDlg('Удалить выбранный файл?', TMsgDlgType.mtConfirmation, mbYesNo, 0, procedure (const AResult: TModalResult) begin if (AResult=mrYes) then begin {тут обрабатываете результат нажатия кнопки "Yes"} end; end);
  14. Всем доброго времени суток. Среда: Rad Studio 10 Seattle (без Update 1) Платформа: Android Столкнулся с необходимостью генерации QR-кода для отображения на TImage. Воспользовался информацией, взятой тут http://zarko-gajic.iz.hr/firemonkey-mobile-android-ios-qr-code-generation-using-delphi-xe-5-delphizxingqrcode/ У автора возникла проблема с опцией DisableInterpolation на платформе Android (тот же код отлично работает на Windows), а именно, на Android это не работает (изображение получается размытым) Перепробовал всё, что приходило в голову, а так же было нагуглено.... но все попытки безуспешны. Подскажите, как изменить размер изображения, чтобы оно не становилось мутным?
  15. В демонстрационных проектах есть пример работы с ImageList, где так-же в Run time добавляются новые изображения.. Найти его можно тут С:\Users\Public\Documents\Embarcadero\Studio\17.0\Samples\Object Pascal\Multi-Device Samples\User Interface\ImageList (есть вероятность, что у вас необходимо немного изменить путь, в зависимости от расположения папки "Users" или "Пользователи", а так-же заменить 17.0 на вашу версию). Надеюсь это вам поможет.
×
×
  • Создать...