[id] = CopyBrush(source, dest[, table])
source
angegebenen Pinsel und
erzeugt eine Kopie in Pinsel dest
. Der neue Pinsel ist unabhängig
vom alten Pinsel, deshalb könnten Sie den alten nach dem Kopieren
löschen.
Wenn Sie beim Argument dest
Nil angeben,
wird CopyBrush()
für den kopierten Pinsel automatisch eine
ID auswählen und Ihnen übergeben.
Ab 5.0 kann diesem Befehl eine optionale Tabelle table
mit
folgenden Tags übergeben werden:
Hardware:
True
setzten, wird Hollywood diesen
Pinsel vollständig im Videospeicher erstellen. Dieser Hardware-Pinsel
beschleunigt in Verbindung mit einem Hardware-Doppelpuffer
das Zeichnen dieses Pinsels. Hardware-Pinsel unterliegen verschiedenen
Einschränkungen. Siehe Hardware-Pinsel für Details. (V5.0)
Display:
Hardware
auf True
gesetzt wurde.
Beachten Sie auch, dass Hollywoods eingebautes Display-Adaptermodul
keine Displayabhängigen-Hardware-Pinsel unterstützt, aber Plugins
können individuelle Display-Adaptermodule installieren, die
displayabhängige Hardware-Pinsel unterstützen. Dieser Tag benutzt
standardmäßig die ID des aktuell aktiven Displays.
Siehe Hardware-Pinsel für Details. (V6.0)
SmoothScale:
True
setzen und der Tag Hardware
ebenfalls
auf True
gesetzt wurde, verwendet Hollywood (oder das Display-Adaptermodul)
bei der Transformation des neu erstellten Pinsels die bilineare
Interpolation. Normalerweise wird beim Aufruf eines Pinseltransformationsbefehls
wie ScaleBrush() oder RotateBrush()
festgelegt, ob Interpolation verwendet werden soll oder nicht.
Einige Display-Adaptermodule müssen diese Informationen jedoch
bereits beim Erstellen des Hardware-Pinsels kennen. Aus diesem
Grund ist dieser Tag hier, obwohl er wahrscheinlich nicht sehr
nützlich ist, weil er nur in speziellen Situationen mit Display-Adaptermodule
wie RebelSDL oder Hardware-Pinseln unter Android benötigt wird.
Normalerweise können Sie einfach angeben, ob die Interpolation
direkt im Transformationsbefehl verwendet werden soll oder nicht.
Beachten Sie, dass SmoothScale
nur unterstützt wird, wenn Hardware
auf True
gesetzt ist. (V8.0)
Siehe auch @BRUSH, LoadBrush(), FreeBrush(), SaveBrush() und MoveBrush().
CopyBrush(1, 10) FreeBrush(1)Der obige Code erstellt einen neuen Pinsel 10, der die gleichen Grafikdaten wie Pinsel 1 enthält. Dann wird der Pinsel 1 aus dem Speicher gelöscht, da er nicht mehr benötigt wird.