Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Si pasas solo la esquina superior izquierda de una imagen al método DrawImage, Windows GDI+ podría escalar la imagen, lo que disminuiría el rendimiento.
La siguiente llamada al método DrawImage especifica una esquina superior izquierda de (50, 30), pero no especifica un rectángulo de destino:
graphics.DrawImage(&image, 50, 30); // upper-left corner at (50, 30)
Aunque esta es la versión más sencilla del método DrawImage en términos del número de argumentos necesarios, no es necesariamente la más eficaz. Si el número de puntos por pulgada en el dispositivo de pantalla actual es diferente del número de puntos por pulgada en el dispositivo en el que se creó la imagen, GDI+ escala la imagen para que su tamaño físico en el dispositivo de pantalla actual sea lo más cercano posible a su tamaño físico en el dispositivo donde se creó.
Si desea evitar este escalado, pase el ancho y el alto de un rectángulo de destino al método DrawImage. En el ejemplo siguiente se dibuja la misma imagen dos veces. En el primer caso, no se especifica el ancho y el alto del rectángulo de destino y la imagen se escala automáticamente. En el segundo caso, se especifica que el ancho y el alto (medidos en píxeles) del rectángulo de destino sean los mismos que el ancho y el alto de la imagen original.
Image image(L"Texture.jpg");
graphics.DrawImage(&image, 10, 10);
graphics.DrawImage(&image, 120, 10, image.GetWidth(), image.GetHeight());
En la ilustración siguiente se muestra la imagen representada dos veces.