Question

Dans une application MFC SDI contenant un seul CView, je passe le cadre périphérique de sortie pDC->m_hDC à une bibliothèque de carte pour rendre la carte à l'intérieur de la méthode de CMyView::OnDraw().

Je voudrais l'image rendue à apparaître dans le centre du cview entouré d'un fond noir, à savoir la taille de l'image serait plus petite que la taille client CView rect. Je l'ai expérimenté avec CDC::SetViewportOrg() et définir la taille de l'appareil dans la bibliothèque de cartographie, mais malheureusement, la bibliothèque de cartographie tire en dehors de l'ensemble de la taille de l'appareil.

Quelle est la meilleure façon de limiter l'image à la taille désirée? Dois-je regarderais les fonctions clipping? Ou dois-je tirer manuellement sur les parties indésirables de l'image.

Était-ce utile?

La solution

Eh bien, vous pouvez le faire de 2 façons.

1) Vous pouvez SetBoundsRect aux limites que vous voulez.
2) Vous pouvez tout simplement peu blt la section de l'image que vous voulez dans le DC.

Méthode 2 serait ma méthode préférée car il n'y a pas de logique supplémentaire. Il ne jamais essaie même de tirer la pièce que vous blitting:)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top