Странности с режимом MM_ISOTROPIC

Тема в разделе "WASM.WIN32", создана пользователем Hunter, 6 янв 2006.

  1. Hunter

    Hunter New Member

    Публикаций:
    0
    Регистрация:
    21 фев 2005
    Сообщения:
    47
    Добрый день!

    У меня возникли вопросы по странному поведению режима MM_ISOTROPIC. Приведу код:



    pDC->SelectStockObject(GRAY_BRUSH);

    pDC->SetMapMode(MM_ISOTROPIC);



    pDC->SetWindowExt(1, 2);

    pDC->SetViewportExt(1, 1);



    pDC->Ellipse(0, 0, 100, 50);



    pDC->SetViewportOrg(0, 70);



    pDC->SetWindowExt(1,1);

    pDC->SetViewportExt(1, 1);



    pDC->Ellipse(0, 0, 100, 50);





    В результате будут выведены два эллипса, первый будет сжат по Y.

    Первый вопрос в том, что в документации сказано, что в режиме MM_ISOTROPIC коэффициент масштабирования равен по оси Х и У, но почему-то в приведенном выше примере сжатие видно только по оси У, т.к. первый и второй эллипс равны по Х.

    Второй вопрос в том, что если мы зададим:



    pDC->SetWindowExt(1, 3);

    pDC->SetViewportExt(1, 1);





    то первый эллипс не будет выведен на экран (а с пропорциями 1/3 по Х и 1/3 по У все работает нормально). Т.е. при большой разнице между коэффициентом по Х и У изображение не выводится (в MM_ANISOTROPIC это не влияет).