• 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;

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 ответ на этот вопрос

  • 0

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

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

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