sprite_transform — GFX2D sprite op

資料種類:rgbargba

呼叫:import gfx2d; gfx2d.sprite_transform(sprite, angle_deg=0.0, scale=1.0, interp='bilinear', out_shape=None)(或 opsgfx2d.get("sprite_transform"))

用法

繞中心旋轉和/或縮放 `rgba` 精靈。

> 以下的詳細說明為原文 —— 摘要與標題已翻譯。

A positive `angle_deg` turns the sprite clockwise on screen, because

the row axis points down. `interp is "nearest", "bilinear"` or

`"bicubic"` (a cubic spline; it overshoots, and the overshoot is clipped

back into the premultiplied range).

The resampling happens in premultiplied space and the result is

converted back. Interpolating straight colour instead mixes in the colour of

fully transparent pixels — usually black, and invisible in the alpha channel

— which shows up as a dark fringe. Measured on a white disc whose

transparent region is black, composited over mid-grey: the straight-space

result differs from this one by up to 0.203 and by 0.048 on average

over the pixels it changes (rotations of 13, 37 and 45 degrees; the maximum

was 0.197, 0.203, 0.156).

Exact where it can be: `angle_deg=0, scale=1` returns the input bit for

bit, and a multiple of 90 degrees with `interp="nearest"` permutes the

alpha channel exactly (colour matches to 1.2e-16, the cost of the

premultiply round trip). Everything else costs interpolation: the measured

round trip of `+37 then -37` degrees, bilinear, is a mean alpha error

of 0.0150 with a maximum of 0.8125 at the one pixel where the edge

crosses a sample.

`out_shape is (height, width)`; the default is the bounding box of the

transformed sprite, rounded up.

參考(範例資料・文獻)

• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。

• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。

• 演算法的正典(作者・年份)與用途見上面的族使用指南

可執行的範例(實際呼叫該運算子並已驗證的樣例)

gfx2d_scenepy -3.11 examples/gfx2d_scene.py

型別可銜接的下一個運算子(可接受 rgba 作為輸入)

premultiply · alpha_composite · sprite_blit · sprite_sheet_slice · nine_slice

同類別(sprite)

sprite_synthesize · sprite_blit · sprite_sheet_slice · nine_slice


*Provenance: gfx2d.py — GFX2D 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.