找回密码
 注册帐号

扫一扫,访问微社区

薛飞 Unity截屏插入iOS相册

37
回复
4136
查看
打印 上一主题 下一主题
[ 复制链接 ]
排名
417
昨日变化

21

主题

216

帖子

4105

积分

Rank: 9Rank: 9Rank: 9

UID
686
好友
18
蛮牛币
5354
威望
0
注册时间
2013-7-4
在线时间
1758 小时
最后登录
2019-7-19

专栏作家

QQ

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册帐号

x
额(⊙o⊙)…接着以前的文章http://www.manew.com/thread-89330-1-1.html继续,这是是iOS的
Unity代码
[C#] 纯文本查看 复制代码
using System; 
using System.IO;

#if UNITY_IOS
using System.Runtime.InteropServices;
#endif

using UnityEngine;

public class UnityPlugins : MonoBehaviour
{

	// Use this for initialization
	void Start()
	{

	}

	// Update is called once per frame
	void Update()
	{

	}

	#if UNITY_IOS
	[DllImport("__Internal")]
	private static extern void _SavePhoto(string readAddr);
	#endif

	string path = "";

	private void OnGUI()
	{

		if (GUILayout.Button("TakePhoto", GUILayout.Height(300), GUILayout.Width(300)))
		{
			CaptureCamera();
			Debug.Log("TakePhoto");
		}  
	}


	void CaptureCamera()
	{
		Camera camera = Camera.main;
		string name = DateTime.Now.ToFileTime().ToString();

		Rect rect = new Rect(0, 0, Screen.width, Screen.height);

		RenderTexture rt = new RenderTexture(Screen.width, Screen.height, 0);
		Texture2D frame = new Texture2D(Screen.width, Screen.height, TextureFormat.RGBA32, false);

		camera.targetTexture = rt;
		camera.Render();

		RenderTexture.active = rt;
		frame.ReadPixels(rect, 0, 0); 
		frame.Apply();

		camera.targetTexture = null;  
		RenderTexture.active = null;   

		byte [] bytes = frame.EncodeToJPG();

		File.WriteAllBytes(Application.persistentDataPath + "/" + name + ".jpg",bytes);

		#if UNITY_IOS
		_SavePhoto(Application.persistentDataPath + "/" + name + ".jpg");
		#endif
	}

}



iOS代码
[AppleScript] 纯文本查看 复制代码
#import <Foundation/Foundation.h>  
   
@interface UnityPlugins : NSObject  
- ( void ) imageSaved: ( UIImage *) image didFinishSavingWithError:( NSError *)error   
    contextInfo: ( void *) contextInfo;  
@end 



[AppleScript] 纯文本查看 复制代码
#import "UnityPlugins.h"  
@implementation UnityPlugins  
- ( void ) imageSaved: ( UIImage *) image didFinishSavingWithError:( NSError *)error   
    contextInfo: ( void *) contextInfo  
{  
    NSLog(@"保存结束");  
    if (error != nil) {  
        NSLog(@"有错误");  
    }  
}  
void _SavePhoto(char *readAddr)  
{  
    NSString *strReadAddr = [NSString stringWithUTF8String:readAddr];  
    UIImage *img = [UIImage imageWithContentsOfFile:strReadAddr];  
    NSLog([NSString stringWithFormat:@"w:%f, h:%f", img.size.width, img.size.height]);  
    UnityPlugins *instance = [UnityPlugins alloc];  
    UIImageWriteToSavedPhotosAlbum(img, instance,   
        @selector(imageSaved:didFinishSavingWithError:contextInfo:), nil);  
}  
@end  



目录结构



导出Xcode工程后或者  修改Info.plist  打开 Info.plist,点击 + 号,在 Key 中输入:Privacy - Photo Library Additions Usage Description,Type 选择 String,Value 中输入你的提示语(比如XXX访问相册)再次 Build


回复

使用道具 举报

7日久生情
1905/5000
排名
1192
昨日变化

1

主题

559

帖子

1905

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
87577
好友
0
蛮牛币
7827
威望
0
注册时间
2015-3-31
在线时间
367 小时
最后登录
2019-7-23

锦衣玉食

沙发
2018-6-1 08:20:07 只看该作者
too good too strong!
回复 支持 反对

使用道具 举报

6蛮牛粉丝
1434/1500
排名
2108
昨日变化

17

主题

219

帖子

1434

积分

Rank: 6Rank: 6Rank: 6

UID
221064
好友
2
蛮牛币
1563
威望
0
注册时间
2017-5-7
在线时间
550 小时
最后登录
2019-7-23
板凳
2018-6-1 09:16:00 只看该作者
大佬,有安卓的么,我的截图,安卓相册调不到,文件夹可以看到的
回复 支持 反对

使用道具 举报

8常驻蛮牛
5447/10000
排名
1669
昨日变化

0

主题

3892

帖子

5447

积分

Rank: 8Rank: 8

UID
185339
好友
1
蛮牛币
3556
威望
0
注册时间
2016-11-20
在线时间
777 小时
最后登录
2019-7-23
地板
2018-6-1 09:16:17 只看该作者
回复

使用道具 举报

5熟悉之中
880/1000
排名
4149
昨日变化

14

主题

248

帖子

880

积分

Rank: 5Rank: 5

UID
231366
好友
9
蛮牛币
1819
威望
0
注册时间
2017-7-10
在线时间
262 小时
最后登录
2019-7-23
5#
2018-6-1 10:27:54 只看该作者

这哪就强大了?
回复 支持 反对

使用道具 举报

5熟悉之中
880/1000
排名
4149
昨日变化

14

主题

248

帖子

880

积分

Rank: 5Rank: 5

UID
231366
好友
9
蛮牛币
1819
威望
0
注册时间
2017-7-10
在线时间
262 小时
最后登录
2019-7-23
6#
2018-6-1 10:31:22 只看该作者
楼主的标题写的有问题啊,, 你说的截屏  ,下面确实通过主相机获取的图片,例如一个游戏中主角要翻墙,会把主相机关闭,换成别的相机注视,那获取的图片就是空了,更不要说截屏
回复 支持 0 反对 1

使用道具 举报

排名
417
昨日变化

21

主题

216

帖子

4105

积分

Rank: 9Rank: 9Rank: 9

UID
686
好友
18
蛮牛币
5354
威望
0
注册时间
2013-7-4
在线时间
1758 小时
最后登录
2019-7-19

专栏作家

QQ
7#
楼主 2018-6-1 11:35:19 只看该作者
安生李 发表于 2018-6-1 10:31
楼主的标题写的有问题啊,, 你说的截屏  ,下面确实通过主相机获取的图片,例如一个游戏中主角要翻墙,会 ...

那就换个相机截图呗,写东西主要看需求。你也可以用ScreenCapture.CaptureScreenshot
回复 支持 反对

使用道具 举报

排名
417
昨日变化

21

主题

216

帖子

4105

积分

Rank: 9Rank: 9Rank: 9

UID
686
好友
18
蛮牛币
5354
威望
0
注册时间
2013-7-4
在线时间
1758 小时
最后登录
2019-7-19

专栏作家

QQ
8#
楼主 2018-6-1 11:36:35 只看该作者

弱鸡不敢多言……
回复 支持 反对

使用道具 举报

排名
417
昨日变化

21

主题

216

帖子

4105

积分

Rank: 9Rank: 9Rank: 9

UID
686
好友
18
蛮牛币
5354
威望
0
注册时间
2013-7-4
在线时间
1758 小时
最后登录
2019-7-19

专栏作家

QQ
9#
楼主 2018-6-1 11:37:25 只看该作者
小久久 发表于 2018-6-1 09:16
大佬,有安卓的么,我的截图,安卓相册调不到,文件夹可以看到的

大佬请看文章第一行中的文字链接
回复 支持 反对

使用道具 举报

6蛮牛粉丝
1434/1500
排名
2108
昨日变化

17

主题

219

帖子

1434

积分

Rank: 6Rank: 6Rank: 6

UID
221064
好友
2
蛮牛币
1563
威望
0
注册时间
2017-5-7
在线时间
550 小时
最后登录
2019-7-23
10#
2018-6-1 15:40:00 只看该作者
大佬就免了,不敢不敢
回复 支持 反对

使用道具 举报

5熟悉之中
513/1000
排名
9870
昨日变化

2

主题

290

帖子

513

积分

Rank: 5Rank: 5

UID
282383
好友
0
蛮牛币
476
威望
0
注册时间
2018-5-23
在线时间
109 小时
最后登录
2018-8-20
11#
2018-6-1 22:04:29 只看该作者
{:94:}{:94:}{:94:}{:94:} aaaaaaaaaaaaaaa
回复 支持 反对

使用道具 举报

7日久生情
3803/5000
排名
1487
昨日变化

0

主题

2144

帖子

3803

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
219676
好友
1
蛮牛币
3755
威望
0
注册时间
2017-7-12
在线时间
805 小时
最后登录
2019-7-23

活力之星

12#
2018-6-4 17:56:58 只看该作者
谢谢分享
回复

使用道具 举报

4四处流浪
433/500
排名
5861
昨日变化

0

主题

43

帖子

433

积分

Rank: 4

UID
189715
好友
0
蛮牛币
1337
威望
0
注册时间
2016-12-5
在线时间
154 小时
最后登录
2019-3-19
13#
2018-6-6 09:13:58 只看该作者
战略马克
回复

使用道具 举报

5熟悉之中
881/1000
排名
5642
昨日变化

0

主题

451

帖子

881

积分

Rank: 5Rank: 5

UID
146677
好友
9
蛮牛币
2775
威望
0
注册时间
2016-4-25
在线时间
180 小时
最后登录
2019-7-23
QQ
14#
2018-6-6 20:25:24 只看该作者
谢谢分享
回复

使用道具 举报

5熟悉之中
846/1000
排名
3485
昨日变化

0

主题

206

帖子

846

积分

Rank: 5Rank: 5

UID
114090
好友
0
蛮牛币
623
威望
0
注册时间
2015-7-18
在线时间
212 小时
最后登录
2019-7-22
15#
2018-6-6 21:19:06 只看该作者
how old are you
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则