Impara
Classe motore
EditableImage
Non costruibile

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.


Sommario
Proprietà
Metodi
Destroy():()
DrawCircle(center: Vector2,radius: number,color: Color3,transparency: number,combineType: Enum.ImageCombineType,antiAliasing: Enum.AntiAliasing):()
DrawImage(position: Vector2,image: EditableImage,combineType: Enum.ImageCombineType):()
DrawImageProjected(mesh: EditableMesh,projection: Dictionary,brushConfig: Dictionary):()
DrawImageTransformed(position: Vector2,scale: Vector2,rotation: number,image: EditableImage,options: Dictionary?):()
DrawLine(p1: Vector2,p2: Vector2,color: Color3,transparency: number,combineType: Enum.ImageCombineType,antiAliasing: Enum.AntiAliasing):()
DrawRectangle(position: Vector2,size: Vector2,color: Color3,transparency: number,combineType: Enum.ImageCombineType):()
WritePixelsBuffer(position: Vector2,size: Vector2,buffer: buffer):()
Membri ereditati

Riferimento API
Proprietà
Size
Sola Lettura
Non Replicato
Lettura Parallela
Capacità: DynamicGeneration
EditableImage.Size:Vector2

Metodi
Destroy
Capacità: DynamicGeneration
EditableImage:Destroy():()
Restituzioni
()

DrawCircle
Capacità: DynamicGeneration
EditableImage:DrawCircle(
center:Vector2, radius:number, color:Color3, transparency:number, combineType:Enum.ImageCombineType, antiAliasing:Enum.AntiAliasing
):()
Parametri
center:Vector2
radius:number
color:Color3
transparency:number
antiAliasing:Enum.AntiAliasing
Valore predefinito: "Enabled"
Restituzioni
()

DrawImage
Capacità: DynamicGeneration
EditableImage:DrawImage(
position:Vector2, image:EditableImage, combineType:Enum.ImageCombineType
):()
Parametri
position:Vector2
Restituzioni
()

DrawImageProjected
Capacità: DynamicGeneration
EditableImage:DrawImageProjected(
mesh:EditableMesh, projection:Dictionary, brushConfig:Dictionary
):()
Parametri
projection:Dictionary
brushConfig:Dictionary
Restituzioni
()

DrawImageTransformed
Capacità: DynamicGeneration
EditableImage:DrawImageTransformed(
position:Vector2, scale:Vector2, rotation:number, image:EditableImage, options:Dictionary?
):()
Parametri
position:Vector2
scale:Vector2
rotation:number
options:Dictionary?
Restituzioni
()
Campioni di codice
EditableImage:DrawImageTransformed()
local AssetService = game:GetService("AssetService")
-- Esempio di disegno di un'immagine ruotata e scalata su un'altra EditableImage
local srcImage = AssetService:CreateEditableImage({ Size = Vector2.new(256, 256) })
local dstImage = AssetService:CreateEditableImage({ Size = Vector2.new(512, 512) })
-- Disegno con una rotazione di 45 gradi, scalando di 2x, e posizionando a (100, 100)
dstImage:DrawImageTransformed(
Vector2.new(100, 100), -- Posizione
Vector2.new(2, 2), -- Scala
45, -- Rotazione (gradi)
srcImage, -- Immagine sorgente
{
CombineType = Enum.ImageCombineType.AlphaBlend, -- Opzionale, il valore predefinito è AlphaBlend
SamplingMode = Enum.ResamplerMode.Default, -- Opzionale, il valore predefinito è Default
PivotPoint = srcImage.Size / 2, -- Opzionale, il valore predefinito è il centro dell'immagine sorgente
}
)
EditableImage:DrawImageTransformed() - Ritaglia
local AssetService = game:GetService("AssetService")
-- Immagine sorgente
local srcImage = AssetService:CreateEditableImageAsync(Content.fromUri(assetUri))
-- Area di ritaglio definita da offset e dimensione
local cropOffset = Vector2.new(50, 50)
local cropSize = Vector2.new(100, 100)
-- Immagine di destinazione con dimensioni dell'area di ritaglio
local dstImage = AssetService:CreateEditableImage({ Size = cropSize })
-- Posizione (angolo in alto a sinistra)
local position = Vector2.new(0, 0)
-- Fattori di scala (nessuna scala)
local scale = Vector2.new(1, 1)
-- Angolo di rotazione (nessuna rotazione)
local rotation = 0
-- Disegna l'immagine sorgente sull'immagine di destinazione con pivot regolato per ritagliare l'immagine
dstImage:DrawImageTransformed(position, scale, rotation, srcImage, {
CombineType = Enum.ImageCombineType.Overwrite,
PivotPoint = cropOffset, -- Imposta il punto pivot su cropOffset per iniziare a disegnare da lì
})

DrawLine
Capacità: DynamicGeneration
EditableImage:DrawLine(
p1:Vector2, p2:Vector2, color:Color3, transparency:number, combineType:Enum.ImageCombineType, antiAliasing:Enum.AntiAliasing
):()
Parametri
color:Color3
transparency:number
antiAliasing:Enum.AntiAliasing
Valore predefinito: "Enabled"
Restituzioni
()

DrawRectangle
Capacità: DynamicGeneration
EditableImage:DrawRectangle(
position:Vector2, size:Vector2, color:Color3, transparency:number, combineType:Enum.ImageCombineType
):()
Parametri
position:Vector2
size:Vector2
color:Color3
transparency:number
Restituzioni
()

ReadPixelsBuffer
Scrivi Parallelo
Capacità: DynamicGeneration
EditableImage:ReadPixelsBuffer(
position:Vector2, size:Vector2
Parametri
position:Vector2
size:Vector2
Restituzioni
Campioni di codice
EditableImage:ReadPixelsBuffer()
local AssetService = game:GetService("AssetService")
local options = { Size = Vector2.new(32, 32) }
local editableImage = AssetService:CreateEditableImage(options)
local pixelsBuffer = editableImage:ReadPixelsBuffer(Vector2.zero, Vector2.new(2, 1))
local color1 =
Color3.fromRGB(buffer.readu8(pixelsBuffer, 0), buffer.readu8(pixelsBuffer, 1), buffer.readu8(pixelsBuffer, 2))
local transparency1 = (255 - buffer.readu8(pixelsBuffer, 3)) / 255
local color2 =
Color3.fromRGB(buffer.readu8(pixelsBuffer, 4), buffer.readu8(pixelsBuffer, 5), buffer.readu8(pixelsBuffer, 6))
local transparency2 = (255 - buffer.readu8(pixelsBuffer, 7)) / 255
local averageColor = color1:Lerp(color2, 0.5)
local averageTransparency = (transparency1 + transparency2) / 2
local part = Instance.new("Part")
part.Color = averageColor
part.Transparency = averageTransparency
part.Parent = workspace

WritePixelsBuffer
Capacità: DynamicGeneration
EditableImage:WritePixelsBuffer(
position:Vector2, size:Vector2, buffer:buffer
):()
Parametri
position:Vector2
size:Vector2
buffer:buffer
Restituzioni
()
Campioni di codice
EditableImage:WritePixelsBuffer()
local AssetService = game:GetService("AssetService")
local options = { Size = Vector2.new(32, 32) }
local editableImage = AssetService:CreateEditableImage(options)
local pixelsBuffer = editableImage:ReadPixelsBuffer(Vector2.zero, editableImage.Size)
for i = 1, editableImage.Size.X * editableImage.Size.Y do
local pixelIndex = (i - 1) * 4
buffer.writeu8(pixelsBuffer, pixelIndex, 255 - buffer.readu8(pixelsBuffer, pixelIndex))
buffer.writeu8(pixelsBuffer, pixelIndex + 1, 255 - buffer.readu8(pixelsBuffer, pixelIndex + 1))
buffer.writeu8(pixelsBuffer, pixelIndex + 2, 255 - buffer.readu8(pixelsBuffer, pixelIndex + 2))
-- Imposta l'alpha a 255 per rendere tutti i pixel completamente opachi.
buffer.writeu8(pixelsBuffer, pixelIndex + 3, 255)
end
editableImage:WritePixelsBuffer(Vector2.zero, editableImage.Size, pixelsBuffer)

© 2026 Roblox Corporation. Roblox, il logo Roblox e Powering Imagination sono tra i nostri marchi registrati e non registrati negli Stati Uniti. e altri paesi.