I am using Early Preview: Alpha Release of Photo-to-Avatar APIs, and the 2D Preview is an Editable Image that can only be made on the Client, so I’ll have to transfer it over using a RemoteEvent.
I am using EditableImage:ReadPixelsBuffer(Vector2.zero, EditableImage.Size)
to get the Pixel Info, and sending this over the RemoteEvent.
RemoteEvent.OnServerEvent:Connect(function(Player: Player, PreviewImage)
local options = { Size = Vector2.new(Sign.SignPart.SurfaceGui.Picture.Size.X.Offset, Sign.SignPart.SurfaceGui.Picture.Size.Y.Offset) }
local editableImage = AssetService:CreateEditableImage(options)
local pixelsBuffer = buffer.create(Sign.SignPart.SurfaceGui.Picture.Size.X.Offset * Sign.SignPart.SurfaceGui.Picture.Size.Y.Offset * 4)
for i = 1, editableImage.Size.X * editableImage.Size.Y do
local pixelIndex = (i - 1) * 4
buffer.writeu8(pixelsBuffer, pixelIndex, buffer.readu8(PreviewImage, pixelIndex))
buffer.writeu8(pixelsBuffer, pixelIndex + 1, buffer.readu8(PreviewImage, pixelIndex + 1))
buffer.writeu8(pixelsBuffer, pixelIndex + 2, buffer.readu8(PreviewImage, pixelIndex + 2))
buffer.writeu8(pixelsBuffer, pixelIndex + 3, 255)
end
editableImage:WritePixelsBuffer(Vector2.zero, editableImage.Size, pixelsBuffer)
Picture.ImageContent = Content.fromObject(editableImage)
end)
However this just creates a pink/blue image, when it should be matching what’s on the right:
Is it just not possible to send Editable Images over? Not sure what to do