TMetaFile - ошибка при работе с памятьюDelphi , Графика и Игры , MetaFileTMetaFile - ошибка при работе с памятью
Для создания в памяти метафайла, я пытаюсь использовать TMetafile. Чтобы я ни делал, это не работает как надо. Я получаю метафайл или неверного размера, или без возможности масштабирования. Я долго экспериментировал и пришел к выводу, что все эти ошибки возникают в случае, когда map mode (режим карты) использует не mm_Text. Я трассировал ошибку в TMetafile.SaveToClipboardFormat. Программа неверно использует значение по умолчанию TMetafileImage.FInch = 0. Я думаю что TMetafileImage должен иметь значение по умолчанию FInch = Screen.PixelsPerInch или программа, которая сохраняет его в буфере обмена, должна правильно использовать FInch = 0 (т.е. сделайте значение mm_Text). Here is the translation of the text into Russian: Похоже, у вас возникли проблемы с компонентом TMetafile в Delphi при создании метафайла и сохранении его в буфер обмена. Вы определили, что проблема возникает при использовании режима отображения mm_Text, но значение свойства FInch по умолчанию равно 0. Вы правы, что свойство FInch должно быть установлено в значение either пикселей на дюйм экрана или 0 (для режима отображения mm_Text), потому что метафайл используется для хранения графической информации, и единицы измерения должны быть согласованы между различными устройствами. Вот несколько предложений, которые могут помочь вам решить эту проблему:
или
Вот пример, как можно модифицировать ваш код для явного установки свойства FInch:
Надеюсь, эти предложения помогут вам решить проблему с вашим компонентом TMetafile! Ошибка TMetaFile возникает при работе с памятью из-за неправильного использования режима карты map mode, когда значение по умолчанию TMetafileImage.FInch не равно Screen.PixelsPerInch. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |