指定のサーフェースの一部分を指定し、スケール値、回転、4頂点の色、アルファ値を指定して描画することが可能です
draw_surface_general(id, left, top, width, height, x, y, xscale, yscale, rot, c1, c2, c3, c4, alpha);
This function combines the function draw_surface_ext with the function draw_surface_part, adding in some additional blending options so that each corner of the final surface part can be blended with an individual color.
頂点カラーによるグラデーションは、HTML5ではWebGLを有効にしないと動作しません
サーフェースはいつでも破棄される可能性があります。ですのでsurface_exists()関数を使用して常に存在チェックをする必要があります。詳細についてはサーフェース機能についてを参照してください
draw_surface_general(surf, 8, 8, 32, 32, x, y, 2, 0.5, 180, c_white, c_white, c_black, c_black, 1);
This will draw a 32x32 pixel area from 8x8 pixels into the surface. It will be stretched to double its usual width but half its usual height. It will be opaque, and upside down. The top area of the surface will be blended white and hence normal, but the bottom area will be black, meaning the surface will go from normal to silhouette downwards in a smooth gradient.