iOS 绘制1像素线条总结

cola-cloud:Cola Cloud基于Spring Boot,Spring Cloud构建微服务架构企业级开发平台,集成OAuth2认证,集成短信验证码登录,微信小程序登录,FlyWay数据库版本管理,网关集成Swagger聚合所有服务API文档。基于SpringBootAdmin集成的Hystrix,涡轮监控。开发用户中心,权限管理,组织架构,数据字典,消息中心,通知中心等模块。基于MyBatisPlus Generator开发代码生成器 可乐云 Cola Cloud基于Spring Boot,Spring Cloud构建微服务架构企业级开发平台,集成OAuth2认证,集成短信验证码登录,FlyWay数据库版本管理,网关集成Swagger聚合所有服务API文档。基于SpringBootAdmin集成Hystrix,涡轮监控。用户中心,权限管理,组织架构,数据字典,消息中心,通知中心等模块。 服务介绍 项目名称 编号 名称 说明 可乐云认证 认证服务 认证服务 基于SpringSecurity进行安全认证,采用OAuth2.0认证体系,对客户端,用户进行认证及授权,支持账号密码登录,短信验证码登录 可乐云配置 配置 配置服务 基于 立即下载

先了解下scale
scale 即屏幕缩放系数,根据当前设备屏幕的大小计算的比例。

下面来看下不同几款设备对应的scale

设备Sizescale
4s{320, 480}2.000000
5/5s{320, 568}2.000000
6{375, 667}2.000000
6Plus{414, 736}3.000000

以上数据是根据下面代码获取scale
CGFloat scale = [UIScreen mainScreen].scale;

实例代码

  • 设置高为1像素的视图
#define SINGLE_LINE_WIDTH           (1 / [UIScreen mainScreen].scale)
#define SINGLE_LINE_ADJUST_OFFSET   ((1 / [UIScreen mainScreen].scale) / 2)
lineWidth = SINGLE_LINE_WIDTH;
    CGFloat pixelAdjustOffset = SINGLE_LINE_WIDTH;
    //仅当要绘制的线宽为奇数像素时,绘制位置需要调整
if (((int)(lineWidth * [UIScreen mainScreen].scale) + 1) % 2 == 0) {
        pixelAdjustOffset = SINGLE_LINE_ADJUST_OFFSET;
    }

    UIView *line = [[UIView alloc] initWithFrame:CGRectZero];
//    xPos yPos
    line.frame = CGRectMake(0-pixelAdjustOffset, 100-pixelAdjustOffset, sys_w, lineWidth);
    line.backgroundColor = [UIColor redColor];
    [self.view addSubview:line];

参考链接:

  1. http://www.cocoachina.com/ios/20150629/12278.html
  2. https://developer.apple.com/library/ios/documentation/2DDrawing/Conceptual/DrawingPrintingiOS/GraphicsDrawingOverview/GraphicsDrawingOverview.html
【土壤普查实战】Python+ArcGIS随机森林模型一键生成土壤类型栅格图 本文详细介绍了如何利用Python和ArcGIS结合随机森林模型实现土壤类型栅格图的自动化生成,大幅提升土壤普查效率。通过环境准备、数据预处理、模型构建与调优等关键步骤,帮助用户掌握从样本点生成到最终栅格图输出的完整流程,适用于大面积区域或样本点较多的土壤分类任务。 阅读详情

相关推荐

保姆级教程:用STM32单片机实现国标交流充电桩的CP信号检测(附完整代码)

本文详细介绍了基于STM32单片机实现国标交流充电桩CP信号检测的全流程,包括硬件设计、软件架构和充电控制实现。通过分压电路设计、ADC配置和状态机逻辑,确保充电过程的安全与可靠性,适用于新能源汽车充电桩开发。附完整代码和调试技巧,助力开发者快速掌握关键技术。

weixin_42641998的博客 252

iOS [[UIScreen mainScreen] scale]是什么?

咋一看,我还以为[[UIScreen mainScrenn] scale]应该是缩放比例勒,结果深入理解了一下,并不是。这句代码的作用是判断屏幕的分辨率的。什么是分辨率?不然我们先来看一张图。 其实,[[UIScreen mainScreen] scale]是计算屏幕分辨率的喔。[[UIScreen main] scale] == 1; //代表320 x 480 的分辨率 [[UIScreen

长沙火山 9728

MIPI DPHY接口(基于Xilinx FPGA实现)案例分析

在Xilinx FPGA实现MIPI DPHY接口的案例(包括CIS协议层)。截止目前为止,Xilinx仅在Ultrascale+及其以上版本的FPGA IO可直接支持MIPI 电平输入,其他的,都需要转换成LVDS来接收。

ONEFPGA的博客 5630

iOS: 如何正确的绘制1像素的线

iOS 绘制1像素的线 一、Point Vs Pixel iOS中当我们使用Quartz,UIKit,CoreAnimation等框架时,所有的坐标系统采用Point来衡量。系统在实际渲染到设置时会帮助我们处理Point到Pixel的转换。 这样做的好处隔离变化,即我们在布局的事后不需要关注当前设备是否为Retina,直接按照一套坐标系统来布局即可。 实际使用中我们需要牢记下面这一点: On...

weixin_33895516的博客 372

链路监控pinpoint3.0.3安装部署(2)

本文详细介绍了Pinpoint 3.0.3分布式链路监控系统的安装部署过程。主要内容包括:1)数据库安装(HBase、MySQL、Redis、Pinot)的详细配置步骤;2)中间件Zookeeper和Kafka的安装;3)Pinpoint三大组件的部署:Collector、Web和Batch的配置文件修改和启动脚本。文章特别强调了使用-starter-exec.jar包的重要性,并提供了各组件所需的详细参数配置,包括数据库连接、Zookeeper地址、Kafka配置等关键信息。

zouzou_888的博客 1376

newman的使用

Newman是一个基于Node.js的postman命令行工具,用于运行和测试PostmanAPI 请求的集合。它允许用户在命令行环境中执行Postman的JSON文件,从而实现接口自动化测试和持续集成,同时支持用户进行自动化测试、批量执行请求、生成报告等操作。

m0_62825058的博客 1616

iOS绘制1像素的线

有时候页面上需要绘制1像素的分隔线,可以通过添加 view 的方式,也可以通过UIGraphicsGetCurrentContext 的方式实现。但是通过UIGraphicsGetCurrentContext实现的时候需要注意像素的问题。 在绘制1像素线之前,我们先来看一下绘制高度为50的线是什么样的效果。以下图均为模拟器上的截图放大后显示,红色为view的方式,黑色为UIGraphicsGe...

junjie_zhang的专栏 591

UNet改进(6):基于注意力机制的多尺度医学图像分割方法

本文提出了一种集成多尺度注意力机制的UNet改进模型UNetWithAttention,用于提升医学图像分割性能。该模型在标准UNet架构基础上,设计了并行3×3、5×5、7×7卷积核的多尺度注意力模块,通过特征拼接和Sigmoid激活生成注意力权重,实现了对不同尺寸病变的自适应关注。模型采用分离式设计,将特征提取与特征选择解耦,在编码器-解码器各阶段嵌入注意力模块。实验表明,该方法在视网膜血管分割和肺结节检测任务中优于标准UNet,Dice系数和IOU分别提升2.6%和4.1%,同时保持计算效率。

2501_91516851的博客 1324

iOS进阶之UI利器Reveal(2)--利用Reveal分析他人界面

Reveal是目前我发现最好的iOS View Hierarchy工具。它能够将App界面的视图层次结构实时的展示出来,以便于调试分析。官方文档(http://revealapp.com)只说明了如何在我们的项目中加载Reveal,但如果我们能够在他人的App中使用Reveal分析(在没有源码的情况下),无疑是一个很好的学习途径。 我们需要: 越狱设备一台软件Reveal软件i

小程博客 1670

Qt界面美化-飞扬青云自绘控件插件的使用-避免采坑

1、先上一个集成到QtCreater中的效果图: 2、飞扬青云自绘控件插件下载地址:https://gitcode.net/mirrors/feiyangqingyun/qucsdk?utm_source=csdn_github_accelerator 3、集成插件到QtCreater中的方法: (1)、查看自己使用的QtCreater的版本信息,我的:Qt 5.15.2 MSVC2019 64位 (2)插件下载下来后工程预览: 我选择msvc版本的SDK,打开找到匹配的SDK:...

小米的修行之路 2793

【Spring Cloud Alibaba】Linux安装RocketMQ以及RocketMQ Dashboard可视化工具

在当今分布式架构的开发中,消息队列成为了一种常见的解决方案。RocketMQ是阿里巴巴开源的分布式消息中间件,具有高吞吐量、高可用性和强大的扩展性,因此在构建大规模、高可靠性的应用系统时备受推崇。而在使用RocketMQ时,为了更好地了解消息的流动和监控,RocketMQ Dashboard成为了一个不可或缺的可视化工具。本篇博客将带大家一步步在Linux系统中安装RocketMQ,并介绍如何配置和使用RocketMQ Dashboard。

编码人生 3385

IOS绘制1像素线条问题

前段时间美术在验收界面时提了问题:为啥要求1像素宽的一个矩形框似乎却变成了2,3个像素宽。仔细检查过代码后发现,的确设置了LineWidth为1,但绘制效果却并不如人愿。似乎在ios上绘制最低要2个像素的线宽。         查看文档后发现造成这个问题的原因是Quartz的抗锯齿机制。一种粗暴的解决方案是不采用抗锯齿,即:CGContextSetShouldAntialias(contex

zhouleizhao的专栏 2191

自适应滤波器在噪声消除中的应用:系统设计与实现

本文设计并实现了一种基于LMS算法的自适应噪声消除系统,能够有效消除周期性背景噪声,提升信噪比10dB以上。系统采用模块化设计,包含音频输入、自适应滤波、信号分析和可视化等核心模块,支持实时处理与参数动态调整。通过Python实现,提供图形界面进行参数设置、频谱对比和音频播放功能,为语音增强提供了一种实用解决方案。

huanghm88的专栏 128

iOS 绘制1像素线条问题

http://m.blog.csdn.net/blog/zhouleizhao/33713345

HHuiHao 1168

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

绘制1像素的线

绘制1像素的线 #define SINGLE_LINE_WIDTH           (1 / [UIScreen mainScreen].scale) #define SINGLE_LINE_ADJUST_OFFSET   ((1 / [UIScreen mainScreen].scale) / 2) 代码如下: UIView *view = [[UIView alloc] init

qq_25864521的博客 397

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

iOS 绘制1像素的线

一、Point Vs Pixel iOS中当我们使用Quartz,UIKit,CoreAnimation等框架时,所有的坐标系统采用Point来衡量。系统在实际渲染到设置时会帮助我们处理Point到Pixel的转换。 这样做的好处隔离变化,即我们在布局的事后不需要关注当前设备是否为Retina,直接按照一套坐标系统来布局即可。 实际使用中我们需要牢记下面这...

weixin_30692143的博客 76

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

[示例] Firemonkey 画出 1 点像素的线

说明:在 Firemonkey 在移动平台 Android & iOS 要直接在 Canvas 画出 1 点像素的线,似乎有点困难,不过利用一点小技巧,还是能达到这个要求的,首先要建立一个 Bitmap 并将大小乘以目前机子的 Scale ,再开始绘图即可。 源码下载: https://github.com/OneChen/TestDraw1Pixel 效果: 参考: htt...

weixin_30632089的博客 176

iOS 绘画 点与像素

iOS 像素与点 像素与点的关系 导入标的时候,我们都知道有1倍、2倍、3倍图。对应在1倍、2倍、3倍屏幕上使用。 那这些不同倍图(不同分辨率屏幕)与日常点的关系是什么了。 1倍屏: 1个点(point)对应1个像素(piexl),比如第一批 iPhone 2倍屏: 1个点(point)对应4个像素(piexl),横竖各3列,比如 iPhone6 3倍屏: 1个点(point)对应9个像素(piexl),横竖各3列,比如iPhone6Plus 像素示例图如下 红色矩形表示一个点, 不同倍屏对应不同像素点。

小桥流水哗啦啦,iOS Coder 哒哒哒 1047
上一篇: iOS常见问题---dyld: could not load inserted library ‘/usr/lib/libgmalloc.dylib’
下一篇: iOS开发之Quartz2D生成PDF-Part1
Cola-Bean
博客等级 码龄13年 5粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值