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

Захват скриншота не работает в Маке


giveaway

Вопрос

Привожу кусок кода, в котором я захватываю в скриншот то, что отображает бразуер. Под Виндой все прекрасно работает, а вот в Маке скриншоты создаются пустыми. Что может быть не правильно?
 

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;

 

Ссылка на комментарий

Рекомендуемые сообщения

  • 0

Дальнейшие эксперименты показали, следующее... У меня есть форма и внутри нее канва браузера. Я стал снимать скриншот не только с канвы, а со всей формы. Так вот - в данном случае скриншот не весь пустой, - на него попадают элементы управления формы (кнопки и пр.), но находящая внутри скриншота канва браузера пуста. Ощущение что отображаемые браузером html фалы не относятся к графике и не захватываются. Напоминанием попытку снять скриншот кино в видеоплеер с помощью клавиши printscreen, там тоже окно видеоплеера будет присутствовать, но его содержимое - нет.

Напомню, что такая бага присутствует только в Маке, - в Винде скриншоты захватываются нормально.

Ссылка на комментарий
  • 0

Неожиданно выяснилось, что все работает на Mac Sierra при постройке и в Билдере 10.1 и 10.3, а вот все версии Mac OS X выше - выдают пустой скриншот. Может быть это что-то подскажет?

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...