Im probably messing something up here but in this little demo the image is visible in the capture despite being disabled before the capture resulting in a white background
local captureService = game:GetService("CaptureService")
local AssetService = game:GetService("AssetService")
local Runservice = game:GetService("RunService")
local Canvas = Instance.new("EditableImage")
Canvas.Parent = script.Parent.ImageLabel
Canvas.Size = script.Parent.ImageLabel.AbsoluteSize
--stored because vec2 is costly to build for reasons
local v2z = Vector2.zero
--Before capture disable canvas
captureService.CaptureBegan:Connect(function()
script.Parent.ImageLabel.Visible = false
end)
--After capture enable canvas for viewing
captureService.CaptureEnded:Connect(function()
script.Parent.ImageLabel.Visible = true
end)
--every second take a screenshot and render it to the canvas
while task.wait(1) do
captureService:CaptureScreenshot(function(capture)
Canvas:DrawImage(v2z, AssetService:CreateEditableImageAsync(capture), Enum.ImageCombineType.Overwrite)
end)
end
(ignore the stretching I know how to fix it, im just trying to solve this first)