Image 日冕中的大图像旋转
我有一个尺寸为1162 x 16的图像,我想在触摸移动阶段事件中旋转它, 问题是,当图像旋转时,它会被置乱像素化,尽管它不会被缩放, 我尝试了一幅大小为128 x 128的图像,但图像没有像素化, 可能是因为图像太大了 旋转是否会影响图像结构??? 有人知道为什么会这样吗 或者如果有人有解决办法,你能帮我吗 以下是使其成为方形后的更新代码:Image 日冕中的大图像旋转,image,rotation,coronasdk,scramble,Image,Rotation,Coronasdk,Scramble,我有一个尺寸为1162 x 16的图像,我想在触摸移动阶段事件中旋转它, 问题是,当图像旋转时,它会被置乱像素化,尽管它不会被缩放, 我尝试了一幅大小为128 x 128的图像,但图像没有像素化, 可能是因为图像太大了 旋转是否会影响图像结构??? 有人知道为什么会这样吗 或者如果有人有解决办法,你能帮我吗 以下是使其成为方形后的更新代码: local bck = display.newRect (0,0,display.contentWidth,display.contentHeight) b
local bck = display.newRect (0,0,display.contentWidth,display.contentHeight)
bck.x = display.contentWidth * 0.5
bck.y = display.contentHeight * 0.5
bck:setFillColor (255,255,255)
local img = display.newImageRect ("laser1.png",1170,1170)
img.x = display.contentWidth * 0.5
img.y = display.contentHeight * 0.5
local function getRotation(PointX1,PointY1,PointX2,PointY2)
--display.getCurrentStage():setFocus ( Bug )
local atan2 = math.atan2
local pi = 3.14159265358
local deltax = PointX2 - PointX1
local deltay = PointY2 - PointY1
local currentAngle = ((atan2(deltay,deltax) )* 180.0) / pi
local rotationDigree = currentAngle - img.previousAngle;
img.previousAngle = currentAngle
return rotationDigree;
end
local function handleTouch ( event )
img.previousAngle = 1
if( event.phase == "moved" ) then
img.rotation = getRotation ( img.x , img.y , event.x , event.y )
end
end
Runtime:addEventListener ("touch",handleTouch)
你的形象不是方形的。这意味着,当你旋转90度时,你试图将一个16 x 1162的图像放入一个1162 x 16的空间 这意味着图像在一个维度上被挤压,在另一个维度上被拉伸 您需要使源图像和目标图像1162 x 1162都添加一个边框,可以是透明的,也可以是原始图像中不存在的一些已知颜色,以便在旋转完成后将其删除
128 x 128的测试图像之所以有效,是因为它是正方形。thx ChrisF我已经尝试过用空白区域制作1162 x1162,但没有效果,旋转时仍然是像素化的:S@Israa.Kh-我猜你还在把16号线延长到1162号线。在问题中编辑代码。