- 浏览: 2533249 次
- 性别:
- 来自: 苏州
文章分类
最新评论
-
jsntghf:
peio 写道这个怎么运行?Ruby On Rails的环境搭 ...
多文件上传之uploadify -
peio:
这个怎么运行?
多文件上传之uploadify -
往事如烟1:
我的项目是自己init了一个原始的project,之后将ver ...
React Native热部署之CodePush -
jsntghf:
往事如烟1 写道我按照你的说明进行,发现app退出之后,在进入 ...
React Native热部署之CodePush -
往事如烟1:
我按照你的说明进行,发现app退出之后,在进入不正确,请问是什 ...
React Native热部署之CodePush
MagnifierView.h文件:
#import <Foundation/Foundation.h> @interface MagnifierView : UIView { UIView *viewref; CGPoint touchPoint; UIImage *cachedImage; } @property(nonatomic, retain) UIView *viewref; @property(assign) CGPoint touchPoint; @end
MagnifierView.m文件:
#import "MagnifierView.h" @implementation MagnifierView @synthesize viewref, touchPoint; - (id)initWithFrame:(CGRect)frame { if (self = [super initWithFrame:frame]) { self.backgroundColor = [UIColor clearColor]; } return self; } - (void)drawRect:(CGRect)rect { if(cachedImage == nil){ UIGraphicsBeginImageContext(self.bounds.size); [self.viewref.layer renderInContext:UIGraphicsGetCurrentContext()]; cachedImage = [UIGraphicsGetImageFromCurrentImageContext() retain]; UIGraphicsEndImageContext(); } CGImageRef imageRef = [cachedImage CGImage]; CGImageRef maskRef = [[UIImage imageNamed:@"loopmask.png"] CGImage]; CGImageRef overlay = [[UIImage imageNamed:@"loop.png"] CGImage]; CGImageRef mask = CGImageMaskCreate(CGImageGetWidth(maskRef), CGImageGetHeight(maskRef), CGImageGetBitsPerComponent(maskRef), CGImageGetBitsPerPixel(maskRef), CGImageGetBytesPerRow(maskRef), CGImageGetDataProvider(maskRef), NULL, true); CGImageRef subImage = CGImageCreateWithImageInRect(imageRef, CGRectMake(touchPoint.x - 18, touchPoint.y - 18, 36, 36)); CGImageRef xMaskedImage = CGImageCreateWithMask(subImage, mask); CGContextRef context = UIGraphicsGetCurrentContext(); CGAffineTransform xform = CGAffineTransformMake(1.0, 0.0, 0.0, -1.0, 0.0, 0.0); CGContextConcatCTM(context, xform); CGRect area = CGRectMake(touchPoint.x - 42, -touchPoint.y, 85, 85); CGRect area2 = CGRectMake(touchPoint.x - 40, -touchPoint.y + 2, 80, 80); CGContextDrawImage(context, area2, xMaskedImage); CGContextDrawImage(context, area, overlay); } - (void)dealloc { [cachedImage release]; [viewref release]; [super dealloc]; } @end
TouchReader.h文件:
#import <Foundation/Foundation.h> #import "MagnifierView.h" @interface TouchReader : UIView { NSTimer *touchTimer; MagnifierView *loop; } - (void) handleAction:(id)timerObj; @end
TouchReader.m文件:
#import "TouchReader.h" #import "MagnifierView.h" @implementation TouchReader - (id)initWithFrame:(CGRect)frame { if (self = [super initWithFrame:frame]) { touchTimer = nil; loop = nil; } return self; } - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ touchTimer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(handleAction:) userInfo:touches repeats:NO]; } - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{ if(loop != nil){ [self handleAction:touches]; return; } [touchTimer invalidate]; touchTimer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(handleAction:) userInfo:touches repeats:NO]; } - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{ [touchTimer invalidate]; touchTimer = nil; [loop removeFromSuperview]; [loop release]; loop = nil; } - (void) handleAction:(id)timerObj { NSSet *touches; if([timerObj isKindOfClass:[NSSet class]]){ touches = [timerObj retain]; }else{ touches = [[timerObj userInfo] retain]; } if(touchTimer != nil){ [touchTimer invalidate]; touchTimer = nil; } if(loop == nil){ loop = [[MagnifierView alloc] initWithFrame:self.bounds]; loop.viewref = self; [self addSubview:loop]; } UITouch *touch = [touches anyObject]; loop.touchPoint = [touch locationInView:self]; [loop setNeedsDisplay]; [touches release]; } - (void)dealloc { [super dealloc]; } @end
示例图:
发表评论
-
Error watching file for changes: EMFILE
2016-12-15 11:57 1302执行npm start后报错: Error watc ... -
CocoaPods升级1.1.1报错
2016-12-15 08:39 795ERROR: While executing gem .. ... -
Visual Studio Code运行React Native报错
2016-06-13 09:43 1614React Native:0.27.2 React:15 ... -
React Native 0.27.2编译报错this._nativeModule.addListener is not a function
2016-06-12 15:21 3857React Native:0.27.2 React:15 ... -
Unable to resolve module ReactDefaultPerf from
2016-06-02 13:04 2785package.json信息如下: "reac ... -
React Native 0.26.2编译报错Undefined symbols for architecture x86_64
2016-05-26 11:15 2019React Native:0.26.2 React:15. ... -
Failed to update auto layout status: Failed to load designables from path (null)
2016-04-05 22:11 1714确保CocoaPods是0.36.1以上版本,然后在podf ... -
集成微信支付出现Undefined symbols for architecture x86_64错误
2016-03-21 13:22 1751Undefined symbols for architec ... -
React Native热部署之CodePush
2016-01-10 22:27 6247本文使用的环境是Mac OS 10.11.1、Xcode ... -
浅谈React Native中的FlexBox布局
2015-11-17 18:38 4305React Native通过一个基于FlexBox的布局引 ... -
React Native之构建一个简单的列表页
2015-10-23 14:45 2165本文中我们将创建一个简单的电影应用,这个应用将从Rotten ... -
React Native之环境搭建
2015-10-20 16:30 1446本文使用的环境是Mac O ... -
获取图片属性的方法
2015-10-18 20:43 3145很多时候我们需要获 ... -
NSCache的下标用法
2015-09-18 00:19 1216NSCache类和NSDictionary类很相似,也提供 ... -
如何给category添加属性
2015-08-16 10:41 692主要是使用了runtime中的associative机制。 ... -
UITableView的两种重用Cell方法的区别
2015-08-10 13:07 16149UITableView中有两种重用Cell的方法: - ... -
SDImageCache.m报错Unused variable 'fileName'
2015-08-04 21:56 1175GCC手册中的相关解释: unused:This att ... -
Swift调用Objective-C
2015-07-13 23:33 1228Swift调用Objective-C需要一个名为<工程 ... -
使用GCD实现倒计时
2015-07-24 21:47 1085__block int timeout = 60; // ... -
导航栏加分割线的实现
2015-07-01 22:00 1763self.view.backgroundColor = [U ...
相关推荐
在网页设计中,仿淘宝放大镜效果是一种常见的用户体验优化技术,它使得用户在浏览商品图片时可以放大细节,提升购物体验。这种效果通常应用于电商网站的商品展示页面,尤其是在服装、饰品等需要查看细节的品类中。...
在网页设计中,为了提升用户体验,常常会使用到图片放大镜效果。这种效果可以让用户在鼠标悬停在图片上时,看到图片的局部放大视图,就像在实体店中通过放大镜查看商品细节一样。本教程将详细介绍如何使用jQuery实现...
在网页设计中,为了提升用户体验,特别是在展示商品细节时,"淘宝商品放大镜效果"是一种常见且实用的技术。这个效果允许用户在鼠标悬停在图片上时,能看到一个放大的部分,以便更清晰地查看商品的细节。在这个实例中...
在IT领域,"局部放大,放大镜效果"是一种常见的用户界面功能,特别是在图像查看、设计工具和地图应用中。这个程序实现了一个简单的Java Applet,它允许用户在图像上移动鼠标时,对图像的特定区域进行实时放大,类似...
在本项目中,我们将探讨如何使用HTML5、JavaScript(JS)和CSS来创建一个类似于京东(JD)商品详情页面的放大镜效果。这个效果允许用户在鼠标悬停或移动时,通过一个放大镜视图查看商品图片的细节,增强用户体验。 ...
Untiy版本:2019.4.10 主要功能是模拟出真实放大镜效果,使用Unity自带Camera以及Render Texture实现(无代码),资源为Prefab,拖拽到场景中即可使用,资源本身含放大镜模型、放大镜功能
在网页设计中,提供良好的用户体验是至关重要的,其中一种方式就是通过实现放大镜效果来增强商品图片的查看体验。本文将详细介绍如何使用JavaScript和HTML5技术来创建三种不同的放大镜效果:圆形放大镜、直接矩形...
在网页设计中,为了提升用户体验,常常会使用到放大镜效果。这主要应用于产品展示,尤其是电商网站的商品图片,让用户可以更清晰地查看商品细节。本文将深入探讨jQuery实现放大镜效果的相关知识点。 首先,jQuery是...
在电子商务网站中,图片放大镜效果是一个非常常见的功能,它能提供给用户更细致的产品查看体验,特别是对于服装、饰品等细节丰富的商品。本资源提供的是一个商城图片放大镜效果的源码,包含了10种不同的实现方式,...
在IT领域,图片放大镜效果通常用于电商网站或者图像展示应用中,允许用户对细节部分进行查看,提高用户体验。这个示例项目就是针对这一需求设计的,它利用JavaScript技术实现了一个图片放大镜的功能。 首先,我们要...
在iOS开发中,实现“放大镜效果”是一项常见的需求,特别是在文本阅读或图像查看的应用中。这个效果使得用户可以通过一个可移动的放大区域更详细地查看屏幕上的内容。以下是对如何在iPhone应用中创建放大镜效果的...
使用react写一个仿图片放大镜效果使用react写一个仿图片放大镜效果
在本项目中,我们主要探讨的是如何利用Vue3、Vite和TypeScript来实现一个类似于淘宝网站中的商品图片放大镜效果。这个效果通常用于增强用户的购物体验,让他们能更清晰地查看商品细节。以下是实现这一功能所涉及的...
在网页设计中,为了提升用户体验,常常会使用到“放大镜效果”。这种效果允许用户在鼠标悬停在图片上时,能预览图片的局部细节,就像使用实物放大镜一样。这里我们关注的是两个实现这一效果的jQuery插件:一个是基础...
这个项目“jquery实现的图片滑动并带有放大镜效果代码”显然是利用 jQuery 实现了一个功能丰富的图片展示功能,包括图片轮播和放大镜效果。下面我们将详细探讨这些知识点。 首先,图片轮播(Slider)是一种常见的...
jQuery放大镜效果就是一种常见的技术手段,它模仿了淘宝网的产品预览方式,让用户能够更清晰地查看商品细节。本篇文章将深入探讨如何利用jQuery实现这种放大镜效果。 首先,jQuery是一个强大的JavaScript库,它简化...
在本文中,我们将深入探讨如何使用jQuery来实现一个放大镜效果。这个效果通常用于电子商务网站,让用户能够更清晰地查看产品细节。通过学习这个源码,你可以了解到如何自定义插件参数,以适应不同的项目需求。 首先...
在IT行业中,图片放大镜效果是一种常见的网页设计技术,它为用户提供了一种便捷的方式来查看网页上的图片细节。这种效果在电商网站上尤为常见,比如淘宝,用户可以通过鼠标悬停在商品图片上,看到图片的局部放大部分...
在网页设计中,为了提升用户体验,常常会使用到图片放大镜效果。这种效果允许用户在鼠标悬停在图片上时,看到图片的局部区域以更大的比例显示,类似于实体商店中的放大镜。本教程将详细介绍如何使用JavaScript,特别...