Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/120.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AS3 AIR(ios和android)摄像机问题_Android_Ios_Actionscript 3_Mobile_Air - Fatal编程技术网

AS3 AIR(ios和android)摄像机问题

AS3 AIR(ios和android)摄像机问题,android,ios,actionscript-3,mobile,air,Android,Ios,Actionscript 3,Mobile,Air,大约一个星期以来,我一直在努力解决一个问题。谷歌搜索也无济于事。我目前正在开发一款iOS/Android应用程序,它在游戏中有一个功能,可以截图并显示在移动设备的图库中 我使用的是CameraRoll对象,问题是屏幕上的一些对象应用了平滑。然而,CameraRoll截图忽略了这一点。这使得生成的屏幕快照具有一些锯齿状的对象 在谷歌搜索时,我发现有很多人在同一问题上呼救,但没有人回答 非常感谢您的帮助。flash中的锯齿是常见的,因为默认情况下禁用位图平滑(更占用cpu)。我建议从CameraRo

大约一个星期以来,我一直在努力解决一个问题。谷歌搜索也无济于事。我目前正在开发一款iOS/Android应用程序,它在游戏中有一个功能,可以截图并显示在移动设备的图库中

我使用的是CameraRoll对象,问题是屏幕上的一些对象应用了平滑。然而,CameraRoll截图忽略了这一点。这使得生成的屏幕快照具有一些锯齿状的对象

在谷歌搜索时,我发现有很多人在同一问题上呼救,但没有人回答


非常感谢您的帮助。

flash中的锯齿是常见的,因为默认情况下禁用位图平滑(更占用cpu)。我建议从CameraRoll事件创建一个新位图。在内部,它应该返回
event.data
,这是一个。在这里面,您应该找到一个只读属性,您应该能够在其中找到图像

然后就是用平滑创建新图像的问题

var img:Bitmap = new Bitmap();
img.bitmapData = file.bitmapData;
img.smoothing = true;
addChild(img);
我以前从未在手机上尝试过,但我相信你会遇到这种情况


附录:

如果您对基于系统的屏幕截图服务有问题,您可以使用纯AS3创建自己的屏幕截图服务。逻辑是,AS3应该逐像素块复制阶段(从而尊重图像的平滑值)

试试这个:

var myBitmapData:BitmapData = new BitmapData(stage.stageWidth, stage.stageHeight);
myBitmapData.draw(stage);

flash中的锯齿很常见,因为默认情况下会禁用位图平滑(cpu密集度更高)。我建议从CameraRoll事件创建一个新位图。在内部,它应该返回
event.data
,这是一个。在这里面,您应该找到一个只读属性,您应该能够在其中找到图像

然后就是用平滑创建新图像的问题

var img:Bitmap = new Bitmap();
img.bitmapData = file.bitmapData;
img.smoothing = true;
addChild(img);
我以前从未在手机上尝试过,但我相信你会遇到这种情况


附录:

如果您对基于系统的屏幕截图服务有问题,您可以使用纯AS3创建自己的屏幕截图服务。逻辑是,AS3应该逐像素块复制阶段(从而尊重图像的平滑值)

试试这个:

var myBitmapData:BitmapData = new BitmapData(stage.stageWidth, stage.stageHeight);
myBitmapData.draw(stage);


如果您不显示您的代码或问题的图像,则很难提供帮助。根据保密协议。但是,我可以向您展示拍摄图片的行:[code]camRoll.addBitmapData(屏幕截图);[/code]camRoll是CameraRoll对象,屏幕截图是位图数据。编辑:我显然也不知道这个网站的代码标签:/I我怀疑拍照片的代码是否包含在保密协议中-如果是的话,你只是在公共论坛上谈论它而破坏了保密协议。请阅读所写内容。我无法拍摄尚未发布的游戏的照片。我也不能给出源代码。我喜欢我的工作,更愿意保留它。此外,这又有什么关系呢?我已经准确地解释了这个问题。屏幕快照中的某些对象使用平滑。addBitmapData方法忽略平滑,因此会导致屏幕中出现锯齿。我如何克服这一点。这就是问题所在。问这个问题并得到正确答案几乎不需要代码或屏幕截图。如果你不显示问题的代码或图像,很难提供帮助。不允许。根据保密协议。但是,我可以向您展示拍摄图片的行:[code]camRoll.addBitmapData(屏幕截图);[/code]camRoll是CameraRoll对象,屏幕截图是位图数据。编辑:我显然也不知道这个网站的代码标签:/I我怀疑拍照片的代码是否包含在保密协议中-如果是的话,你只是在公共论坛上谈论它而破坏了保密协议。请阅读所写内容。我无法拍摄尚未发布的游戏的照片。我也不能给出源代码。我喜欢我的工作,更愿意保留它。此外,这又有什么关系呢?我已经准确地解释了这个问题。屏幕快照中的某些对象使用平滑。addBitmapData方法忽略平滑,因此会导致屏幕中出现锯齿。我如何克服这一点。这就是问题所在。问这个问题并得到正确答案几乎不需要代码或屏幕截图。我不确定这是否可行。如果我读对了你的链接。MediaEvent.SELECT事件用于用户从其库中选择现有图像。而我正在拍摄游戏的快照并将其放入图库。目前我正在传入一个位图数据,它复制了包含场景的movieclip的像素。一些子电影剪辑正在使用平滑,但它不是位图数据的一部分,因为在绘制到屏幕时应用了平滑。因此,生成的屏幕截图只有一些对象是锯齿状的(使用平滑处理的对象),而其他对象是精细的。如果不使用平滑处理,使用平滑处理的对象在游戏中看起来会锯齿状。也许你的意思是我基本上拍了两张屏幕截图?原始图像带有锯齿,然后使用MediaEvent.SELECT callback使其平滑?…这不需要用户手动拾取图像吗?看起来我没有完全意识到您正在处理的问题(我的问题)。我建议这样做:在拍摄屏幕截图时,保留一组应用了平滑的图像,在拍摄屏幕截图之前,关闭平滑。拍摄屏幕截图后,重新应用它。或者,做一个手动像素复制来创建你自己的屏幕截图。所以要重点说明你的意思:-使用平滑功能保留一个对象列表(方便的是,由于其他原因,我已经在列表中列出了它们)-在屏幕截图之前,关闭每个对象的平滑功能-然后再打开?还是在整个屏幕截图上?此外,我已经做了像素复制,使屏幕截图。之所以不起作用,是因为平滑不是BitmapData的一部分。如果要从舞台上提取图像,而不是位图本身,则对屏幕进行像素复制应该是可行的。在这一点上,你正在处理一个堆肥图像