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

giveaway

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

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

  • Посещение

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

    1

giveaway стал победителем дня 29 марта 2019

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

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

Блок последних пользователей отключён и не показывается другим пользователям.

Достижения giveaway

  1. И вдогонку вопрос - а Каталину только версия для Delphi поддерживает? А С++ нет? В описании к нему ни строчки о поддержке.
  2. Так вам удалось подружить Embarcadero 10.3.3 и Xcode 11.2.1? Под Каталину приложуха построится? А то в сети читаю гневные отзывы, что это только обещания, а в реале новый SDK не подтягивается
  3. Сам браузер работает нормально, скрин с него не снимается только... Какой выход? Пробовать Chromium?
  4. Неожиданно выяснилось, что все работает на Mac Sierra при постройке и в Билдере 10.1 и 10.3, а вот все версии Mac OS X выше - выдают пустой скриншот. Может быть это что-то подскажет?
  5. С нижеследующим кодом под Windows все работает нормально (при печати добавляю на канву принтера номер страницы) А вот в Маке вместо номера, получаю залитый черным прямоугольник. В чем ошибка? TRectF pgRect; String numPagebuf; int x1, y1, x2, y2; x1 = 60; y1 = Printer->PageHeight - 220; x2 = Printer->PageWidth - 60; y2 = Printer->PageHeight - 170; pgRect.init(x1, y1, x2, y2); numPagebuf = IntToStr(numPage); TCanvas * canvas = Printer->Canvas; canvas->BeginScene(); canvas->Font->Size = 90; canvas->Fill->Kind = TBrushKind::Solid; canvas->Stroke->Thickness = 1; canvas->FillText(pgRect, numPagebuf, false, 0, TFillTextFlags(), TTextAlign::Center, TTextAlign::Center); canvas->EndScene();
  6. Дальнейшие эксперименты показали, следующее... У меня есть форма и внутри нее канва браузера. Я стал снимать скриншот не только с канвы, а со всей формы. Так вот - в данном случае скриншот не весь пустой, - на него попадают элементы управления формы (кнопки и пр.), но находящая внутри скриншота канва браузера пуста. Ощущение что отображаемые браузером html фалы не относятся к графике и не захватываются. Напоминанием попытку снять скриншот кино в видеоплеер с помощью клавиши printscreen, там тоже окно видеоплеера будет присутствовать, но его содержимое - нет. Напомню, что такая бага присутствует только в Маке, - в Винде скриншоты захватываются нормально.
  7. Привожу кусок кода, в котором я захватываю в скриншот то, что отображает бразуер. Под Виндой все прекрасно работает, а вот в Маке скриншоты создаются пустыми. Что может быть не правильно? TBitmap* TForm1::getScreenshotWebBrowser() { TBitmap *BitmapBuffer; TBitmap *bmp_Scrhot = new TBitmap; // Фиксируем размер снимаемой области TRectF SourceRect(0, 0, WebBrowser1->Width, WebBrowser1->Height); TRect Rect_bmp(0, 0, WebBrowser1->Width, WebBrowser1->Height); // Создаем временный буфер для получения скриншота BitmapBuffer = new TBitmap(SourceRect.Width(), SourceRect.Height()); try { // Переводим канву в режим отрисовки - начинаем процесс отрисовки сцены if (BitmapBuffer->Canvas->BeginScene()) try { // Говорим контролу отрисовать себя в канве нашего буфера в указанной области WebBrowser1->PaintTo(BitmapBuffer->Canvas, SourceRect); } __finally { // Завершаем процесс отрисовки, заканчивая формируемую сцену BitmapBuffer->Canvas->EndScene(); } BitmapBuffer->SaveToFile(GetHomePath() +"/screenshot1.png"); bmp_Scrhot->Width = Rect_bmp.Width(); bmp_Scrhot->Height = Rect_bmp.Height(); bmp_Scrhot->CopyFromBitmap(BitmapBuffer, Rect_bmp, 0, 0); bmp_Scrhot->SaveToFile(GetHomePath() +"/screenshot2.png"); } __finally { delete BitmapBuffer; } return bmp_Scrhot;
  8. Строю приложение под Win и Mac OS X с использованием TWebBrowser. В Винде оно нормально открывает файлы html, в Маке же браузер не работает, - просто пустое окно даже для примитивных html файлов. Читаю в сети отзывы, и что-то не понятно по кроссплатформенности компонента. Для Мака она есть? Или надо пользоваться альтернативой?
  9. Формирую документ для печати и хочу в него добавить программно некий текст, фигуры и изображение. Вот кусок кода: TRectF RectF(10, 10, 30, 30); BitmapTmp->Canvas->DrawRect(RectF, 0, 0, AllCorners, 100); BitmapTmp->Canvas->FillText(RectF, ImageSel->Name, false, 1, TFillTextFlags() << TFillTextFlag::RightToLeft, // TFillTextFlags(), TTextAlign::Center, TTextAlign::Center); Прямоугольник отрисовывается нормально, а текст не отображается. Что я делаю не так?
  10. Никто не поделиться? Можно в личку. Нашел в свободном доступе только для Delphi и VCL
  11. Мне в пдфку чисто картинки надо скидывать, но с определенной версткой (две на одну страницу). Это возможно сделать без сторонних средств?
  12. Коллеги, подскажите по данной задаче что есть нового? Мне нужно создание pdf файла под Win и Mac для С++, а HTML Report Library и FastReport FMX, как я понимаю, все для Delphi?
  13. Почему-то при первом запуске (нажатии кнопки Печать) строка if(!Printer) return; возвращает null. Хотя принтеры на компьютере есть. При втором нажатии код уже вдруг переходит к условию if(Printer->ActivePrinter->SelectDPI(1200, 1200)==false) return; И происходит вот такоей вылет: Сама функция вот такая, если что:
  14. Создаю код для вывода на печать картинки из файла. Взял за основу рабочий пример. Вот мой, немного переделанный, код void __fastcall TForm1::PrintImageh(TImage *ImageTmp) { TRectF SrcRect, DestRect; TPrinter *Printer = Printer; if(!Printer) return; /* Set the default DPI for the printer. The SelectDPI routine defaults to the closest available resolution as reported by the driver. */ if(Printer->ActivePrinter->SelectDPI(1200, 1200)==false) return; /* Set canvas filling style. */ Printer->Canvas->Fill->Color = claBlack; Printer->Canvas->Fill->Kind = TBrushKind(1); /* Start printing. */ Printer->BeginDoc(); /* Set the Source and Destination TRects. */ SrcRect = ImageTmp->LocalRect; DestRect = TRectF(0, 0, Printer->PageWidth, Printer->PageHeight); /* Print the picture on all the surface of the page and all opaque. */ Printer->Canvas->DrawBitmap(ImageTmp->Bitmap, SrcRect, DestRect, 1); /* Finish the printing job. */ Printer->EndDoc(); } Происходит вылет на строке if(Printer->ActivePrinter->SelectDPI(1200, 1200)==false) return; Что может быть не так?
  15. Год назад прекрасно копилил проект под Мак в такой связке (специально сохранил): RADStudio-Berlin-10.1.2 Xcode 7.3.1 с SDK 10.11.4 Mac OS X 10.12.6 Sierra VMware Workstation Pro 12.5.8 Сейчас попробовал сделать то же самое. Компилятор ошибок не выдает, но при развертывании app в самом Маке Терминал пишет: >dyld: Library not loaded: @rpath/bplrtl240.dylib Referenced from: /Users/admin/PAServer/scratch-dir/Admin-Sierra/MyApp.app/Contents/MacOS/MyApp Reason: image not found Хотя файл существует по пути Embarcadero\Studio\18.0\binosx32\bplrtl240.dylib и Embarcadero\Studio\18.0\Redist\osx32\bplrtl240.dylib Что пошло не так? Еще создал другой новый проект. Он даже построение не проходит. Вылетает куча ошибок типа E2268 Call to undefined function и E2451 Undefined symbol Под Винду оба проекта строятся и запускаются прекрасно. P.S. Я правильно понимаю что SDK при нажатии Update Local File Cache вытаскивается из подключенного Мака, из того Xcode, который там установлен?
×
×
  • Создать...