ios 裁剪拼装图片

    //1.获取图片UIImage *image = [UIImage imageNamed:@"123.jpg"];//处理图片//2.获取图片的长度long length = image.size.width/4;//3.图片顶点索引long indices[] = {length * 2,length,//右 right0,length,//左 leftlength,0,//上 toplength,length * 2,//底 bottomlength,length,//顶 frontlength * 3 ,length,//背面 back};//4.指定图片个数//为什么除以2? 包含了x,ylong faceCount = sizeof(indices)/sizeof(indices[0])/2;//4.获取图片大小 单个图片大小:length * length ,组合起来:length,length * faceCountCGSize imageSize = {length,length * faceCount};//5.创建基于位图的图形上下文并使其成为当前上下文。UIGraphicsBeginImageContext(imageSize);for (int i = 0; i + 2 <= faceCount * 2 ; i += 2) {//创建图片,从image.CGImage,获取位置rect上的图片CGImageRef CGImage = CGImageCreateWithImageInRect(image.CGImage, CGRectMake(indices[i], indices[i+1], length, length));//将CGImage转换为UIImageUIImage *tmp = [UIImage imageWithCGImage:CGImage];//绘制图片[tmp drawInRect:CGRectMake(0, length * i / 2, length, length)];}//5.获取处理好的图片//UIGraphicsGetImageFromCurrentImageContext 基于当前位图基于图形上下文的内容返回图像。只有在基于位图的图形上下文是当前图形上下文时,才应该调用此函数。如果目前的情况下是零或没有通过UIGraphicsBeginImageContext创建,这个函数返回nil。UIImage *finalImg = UIGraphicsGetImageFromCurrentImageContext();//6.保存图片到沙盒//指定图片路径NSString *path = [[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"]stringByAppendingPathComponent:@"image123.png"];//获取图片数据-png格式的图片数据//UIImagePNGRepresentation(imgData)以PNG格式返回指定图像的数据NSData *imageData = UIImagePNGRepresentation(finalImg);//写入文件BOOL writeStatus = [imageData writeToFile:path atomically:YES];if (writeStatus) {}else{}

    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/327843.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【airsim】python控制airsim

使用airsim 1.8.1编译完成&#xff0c;进过block项目在cpp测试后&#xff0c;开始踩坑使用python。 使用AirSim\PythonClient\setup.py或者pip安装airsim。 python setup.py install或者 pip install airsim此时&#xff0c;windows电脑的环境信息 (air_py38) D:\code\Gith…

[技术杂谈]使用VLC将视频转成一个可循环rtsp流

通过vlc播放器&#xff0c;将一个视频转成rtsp流&#xff0c;搭建一个rtsp服务器。rtsp客户端可访问这个视频的rtsp流。 1. 打开vlc播放器&#xff0c;使用的版本如下 2. 菜单&#xff1a;媒体 ---> 流 3. 添加视频文件&#xff0c;点击添加一个mp4 文件 4. 选择串流&…

【gRPC学习】使用go学习gRPC

个人博客:Sekyoro的博客小屋 个人网站:Proanimer的个人网站 RPC是远程调用,而google实现了grpc比较方便地实现了远程调用,gRPC是一个现代的开源远程过程调用(RPC)框架 概念介绍 在gRPC中&#xff0c;客户端应用程序可以直接调用另一台计算机上的服务器应用程序上的方法&#…

记录汇川:H5U与Fctory IO 测试1

主程序&#xff1a; 子程序&#xff1a; Fctory IO通讯配置如下 &#xff1a; H5U作服务器&#xff0c;Fctory IO作客户端 这里参考&#xff1a;HU5作服务器地址 实现的动作如下&#xff1a; H5U与Factory IO联动

代码快递员:extern如何送达静态变量至各文件目的地

各位少年&#xff0c;大家好&#xff0c;我是博主那一脸阳光。 前言&#xff1a;话说有一天&#xff0c;静态变量先生和extern女士一起去参加编程界的武林大会。静态变量先生自豪地说&#xff1a;“你知道我为什么这么受欢迎吗&#xff1f;因为我可是个低调的富翁&#xff0c;我…

动态编译 - Dynamically Compile and Load External Java Classes

文章目录 概述Code 概述 动态编译和加载外部Java类的核心流程可以概括为以下几个步骤&#xff1a; 读取源代码: 首先&#xff0c;需要获取到外部的Java源代码。这通常是通过读取文件、网络资源或者数据库中的源代码字符串来实现的。编译源代码: 接下来&#xff0c;需要使用Ja…

html5实现好看的个人博客模板源码

文章目录 1.设计来源1.1 主界面1.2 认识我界面1.3 我的文章界面1.4 我的模板界面1.5 文章内容界面 2.结构和源码2.1 目录结构2.2 源代码 源码下载 作者&#xff1a;xcLeigh 文章地址&#xff1a;https://blog.csdn.net/weixin_43151418/article/details/135368653 html5实现好看…

物联网的感知层、网络层与应用层分享

物联网的概念在很早以前就已经被提出&#xff0c;20世纪末期在美国召开的移动计算和网络国际会议就已经提出了物联网(Internet of Things)这个概念。 最先提出这个概念的是MIT Auto-ID中心的Ashton教授&#xff0c;他在研究RFID技术时&#xff0c;便提出了结合物品编码、互联网…

【论文解读】基于神经辐射场NeRF的像素级交互式编辑(Seal-3D)

来源&#xff1a;投稿 作者&#xff1a;橡皮 编辑&#xff1a;学姐 论文链接&#xff1a;https://arxiv.org/pdf/2307.15131 项目主页&#xff1a;https://windingwind.github.io/seal-3d/ 摘要&#xff1a; 随着隐式神经表征或神经辐射场&#xff08;NeRF&#xff09;的普及…

针对人工智能的攻击并发布策略和建议

人工智能系统已经渗透到现代社会的各个领域。从自动驾驶到疾病诊断以及作为在线聊天机器人与客户互动。 为了学习如何执行这些任务&#xff0c;聊天机器人需要接受大量数据的训练。然而&#xff0c;主要问题之一是这些数据可能不可靠。攻击者有很多机会破坏它们。这都是在AI系…

docker、docker-compose 离线安装、shell脚本一键安装、卸载

注&#xff1a;二进制包&#xff0c;与脚本在同级目录 docker 离线安装&#xff1a; 包下载&#xff1a;https://download.docker.com/linux/static/stable/x86_64/ docker_install.sh&#xff1a; #!/bin/bash# 指定 Docker 版本和文件名 DOCKER_VERSION"24.0.7" D…

【影刀RPA_如何使用影刀的企业微信指令?】

思路&#xff1a;先用python代码过一遍&#xff0c;再将必要参数填到指令里面。 第一步&#xff1a; 1、在企业微信后台新建应用&#xff0c;设置消息接收地址&#xff08;需要服务器的公网ip地址&#xff09;&#xff0c;进行签名验证。然后&#xff0c;从浏览器中查询ip地址…

C语言基础知识(5):TCP网络编程

TCP 是面向连接的、可靠的流协议。流就是指不间断的数据结构&#xff0c;当应用程序采用 TCP 发送消息时&#xff0c;虽然可以保证发送的顺序&#xff0c;但还是犹如没有任何间隔的数据流发送给接收端。TCP 为提供可靠性传输&#xff0c;实行“顺序控制”或“重发控制”机制。此…

Redis 持久化——AOF

文章目录 为什么需要AOF?概念持久化查询和设置1. 查询AOF启动状态2. 开启AOF持久化2.1 命令行启动AOF2.2 配置文件启动 AOF 3. 触发持久化3.1 自动触发3.3 手动触发 4. AOF 文件重写4.1 什么是AOF重写&#xff1f;4.2 AOF 重写实现4.3 AOF 重写流程 5. 配置说明6. 数据恢复6.1…

【SpringCloud】之远程消费(进阶使用)

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是君易--鑨&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;推荐给大家我的博客专栏《SpringCloud开发之远程消费》。&#x1f3af;&a…

H266/VVC多样化视频编码工具概述

全景视频编码 全景视频&#xff1a; 具有360度全包围视角的球面视频。 全景视频编码&#xff1a; 包括H266在内的视频编码算法都是以平面视频为对象的&#xff0c;为了采用传统的视频编码编码算法&#xff0c;全景视频需要转换为平面视频&#xff0c;其中经纬图等角映射&#…

dubbo的基础知识

dubbo是什么 Dubbo是一个分布式服务框架&#xff0c;是一种高性能的远程通讯框架。它提供了基于Java的RPC&#xff08;远程过程调用&#xff09;通信机制&#xff0c;使得应用之间可以方便地进行远程调用&#xff0c;实现分布式服务的调用和管理。Dubbo提供了服务注册、发现、负…

【大数据进阶第三阶段之Hive学习笔记】Hive常用命令和属性配置

目录 1、Hive安装 2、HiveJDBC访问 2.1、启动hiveserver2服务 2.2、连接hiveserver2服务 2.3、注意 3、Hive常用交互命令 3.1、“-e”不进入hive的交互窗口执行sql语句 3.2、“-f”执行脚本中sql语句 4、Hive其他命令操作 4.1、退出hive窗口 4.2、在hive cli命令窗口…

基于OpenCV的透视变换

基础概念 透视变换(Perspective Transformation)是仿射变换的一种非线性扩展,是将图片投影到一个新的视平面(Viewing Plane)&#xff0c;也称作投影映射(Projective Mapping)。 原理&#xff1a;将二维的图片投影到一个三维视平面上&#xff0c;然后再转换到二维坐标下&#…

LeetCode 2807.在链表中插入最大公约数

【LetMeFly】2807.在链表中插入最大公约数 力扣题目链接&#xff1a;https://leetcode.cn/problems/insert-greatest-common-divisors-in-linked-list/ 给你一个链表的头 head &#xff0c;每个结点包含一个整数值。 在相邻结点之间&#xff0c;请你插入一个新的结点&#x…