CN109445895A - Android平台非失真加载大尺寸图片的方法及装置 - Google Patents
Android平台非失真加载大尺寸图片的方法及装置 Download PDFInfo
- Publication number
- CN109445895A CN109445895A CN201811259235.7A CN201811259235A CN109445895A CN 109445895 A CN109445895 A CN 109445895A CN 201811259235 A CN201811259235 A CN 201811259235A CN 109445895 A CN109445895 A CN 109445895A
- Authority
- CN
- China
- Prior art keywords
- picture
- rect
- class object
- large scale
- touch
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明涉及图像处理领域,针对现有技术中加载大尺寸图片采用压缩图片像素的方法导致画面失真问题,提出了一种Android平台非失真加载大尺寸图片的方法,包括如下步骤:获取待加载图片的图片信息和当前显示屏幕的尺寸;创建Rect类对象用以标定图片需要解码的区域,初始化BitmapRegionDecoder对象用于图片的解码;监听触控事件,根据触控事件带来的坐标偏移量动态调整所述Rect类对象;以所述Rect类对象为参数,调用BitmapRegionDecoder对象的decodeRegion方法,获取解码后的Bitmap对象并将其绘制到屏幕。本发明采用上述动态局部加载图片的方法并不会损失图片的像素,适用于大尺寸图片的加载。
Description
技术领域
本发明涉及图像处理领域,特别涉及一种非失真加载大尺寸图片的方法及装置。
背景技术
基于移动终端的便携性的特点,Android系统虚拟机分配了每个应用最大内存限制,当程序需要加载大尺寸图片显示时很容易导致应用产生内存不足的错误,导致程序异常退出无法加载图片。目前Android平台当中加载大尺寸图片的方案主要有压缩图片像素的方法,这个方案有一个不足就是会导致图片像素降低,画面失真。
发明内容
本发明所要解决的技术问题是:克服现有技术中加载大尺寸图片采用压缩图片像素的方法导致画面失真问题,提出一种Android平台非失真加载大尺寸图片的方法及装置。
本发明解决上述技术问题,采用的技术方案是:
Android平台非失真加载大尺寸图片的方法,包括如下步骤:
A、获取待加载图片的图片信息和当前显示屏幕的尺寸;
B、创建Rect类对象用以标定图片需要解码的区域,初始化BitmapRegionDecoder对象用于图片的解码;
C、监听触控事件,根据触控事件带来的坐标偏移量动态调整所述Rect类对象;
D、以所述Rect类对象为参数,调用BitmapRegionDecoder对象的decodeRegion方法,获取解码后的Bitmap对象并将其绘制到屏幕。
进一步的,所述步骤C中,坐标偏移量包括横向偏移量和纵向偏移量,当触控事件为触控按下事件时,获取触控点的初始坐标,当触控事件为触控移动事件时,获取当前触控点的坐标,根据当前触控点的坐标和触控点的初始坐标计算横向偏移量和纵向偏移量,根据横向偏移量和纵向偏移量调整所述Rect类对象。
进一步的,所述根据横向偏移量和纵向偏移量调整所述Rect类对象包括:所述根据横向偏移量和纵向偏移量调整所述Rect类对象包括:Rect类对象的纵坐标偏移所述纵向偏移量,Rect类对象的横坐标偏移所述横向偏移量。
优选的,所述图片信息包括图片的宽度、图片的高度和图片的格式。
优选的,所述Rect类对象的初始值的大小设置为当前显示屏幕的尺寸。
本发明解决上述技术问题,还提出了一种Android平台非失真加载大尺寸图片的装置,包括获取单元、初始化单元、监控单元和加载单元;
获取单元,用于获取待加载图片的图片信息和当前显示屏幕的尺寸;
初始化单元,用于创建Rect类对象用以标定图片需要解码的区域,初始化BitmapRegionDecoder对象用于图片的解码;
监控单元,用于监听触控事件,根据触控事件带来的坐标偏移量动态调整所述Rect类对象;
加载单元,用于以所述Rect类对象为参数,调用BitmapRegionDecoder对象的decodeRegion方法,获取解码后的Bitmap对象并将其绘制到屏幕。
进一步的,所述坐标偏移量包括横向偏移量和纵向偏移量,监控单元还用于当触控事件为触控按下事件时,获取触控点的初始坐标,当触控事件为触控移动事件时,获取当前触控点的坐标,根据当前触控点的坐标和触控点的初始坐标计算横向偏移量和纵向偏移量,根据横向偏移量和纵向偏移量调整所述Rect类对象。
进一步的,监控单元根据横向偏移量和纵向偏移量调整所述Rect类对象时包括:Rect类对象的纵坐标偏移所述纵向偏移量,Rect类对象的横坐标偏移所述横向偏移量。
优选的,所述图片信息包括图片的宽度、图片的高度和图片的格式。
优选的,所述Rect类对象的初始值的大小设置为当前显示屏幕的尺寸。
本发明的有益效果是:
相对于采用图片全部加载对系统资源要求高,本发明采用动态局部加载图片,较全部加载图片的方法更灵活对系统资源依赖较少;再者,相比现有的通过压缩像素加载图片的方案,本发明可以通过调用BitmapRegionDecoder对象的decodeRegion方法获取Rect标定图片需要解码区域的解码后Bitmap对象并将其绘制到屏幕,整个过程并不会损失图片的像素,如此可以呈现给用户更清晰的图片。
附图说明
图1为本发明实施例的方法流程图;
图2为本发明实施例的装置框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步详细说明。
如图1所示,Android平台非失真加载大尺寸图片的方法,包括如下步骤:
A、获取待加载图片的图片信息和当前显示屏幕的尺寸;
B、创建Rect类对象用以标定图片需要解码的区域,初始化BitmapRegionDecoder对象用于图片的解码;
C、监听触控事件,根据触控事件带来的坐标偏移量动态调整所述Rect类对象;
D、以所述Rect类对象为参数,调用BitmapRegionDecoder对象的decodeRegion方法,获取解码后的Bitmap对象并将其绘制到屏幕。
为实现大图片的滑动显示,所述步骤C中,坐标偏移量包括横向偏移量和纵向偏移量,当触控事件为触控按下事件时,获取触控点的初始坐标,当触控事件为触控移动事件时,获取当前触控点的坐标,根据当前触控点的坐标和触控点的初始坐标计算横向偏移量和纵向偏移量,根据横向偏移量和纵向偏移量调整所述Rect类对象。
为适用于横向滑动、纵向滑动和斜向滑动时能同步显示图片,Rect类对象的纵坐标偏移所述纵向偏移量,Rect类对象的横坐标偏移所述横向偏移量。
为了正常的加载图片并方便后面图片显示过程中的判断,所述图片信息包括图片的宽度、图片的高度和图片的格式。
一般情况下,大图片的查看都是全屏查看,为了减少解码的次数,所述Rect类对象的初始值的大小设置为当前显示屏幕的尺寸。
如图2所示,应用于上述Android平台非失真加载大尺寸图片的方法的装置,包括获取单元、初始化单元、监控单元和加载单元;
获取单元,用于获取待加载图片的图片信息和当前显示屏幕的尺寸;
初始化单元,用于创建Rect类对象用以标定图片需要解码的区域,初始化BitmapRegionDecoder对象用于图片的解码;
监控单元,用于监听触控事件,根据触控事件带来的坐标偏移量动态调整所述Rect类对象;
加载单元,用于以所述Rect类对象为参数,调用BitmapRegionDecoder对象的decodeRegion方法,获取解码后的Bitmap对象并将其绘制到屏幕。
为实现大图片的滑动显示,,所述坐标偏移量包括横向偏移量和纵向偏移量,监控单元还用于当触控事件为触控按下事件时,获取触控点的初始坐标,当触控事件为触控移动事件时,获取当前触控点的坐标,根据当前触控点的坐标和触控点的初始坐标计算横向偏移量和纵向偏移量,根据横向偏移量和纵向偏移量调整所述Rect类对象。
为适用于横向滑动、纵向滑动和斜向滑动时能同步显示图片,Rect类对象的纵坐标偏移所述纵向偏移量,Rect类对象的横坐标偏移所述横向偏移量。
为了正常的加载图片并方便后面图片显示过程中的判断,所述图片信息包括图片的宽度、图片的高度和图片的格式。
一般情况下,大图片的查看都是全屏查看,为了减少解码的次数,所述Rect类对象的初始值的大小设置为当前显示屏幕的尺寸。
实施例
本实施例中,Android平台非失真加载大尺寸图片的方法,包括如下步骤:
步骤S1、获取待加载图片的图片信息,图片信息包括宽度、高度和图片格式,获取当前显示屏幕的尺寸,尺寸包括宽度和高度并分别存储在变量mScreenWidth和mScreenHeight中。
步骤S2、创建Rect类的对象记为rect,标定需要解码的区,rect的初始值设置为(0,0,mScreenWidth,mScreenHeight)即为当前显示屏幕大小,初始化BitmapRegionDecoder对象用于根据rect矩形区域参数解码图片。
步骤S3、监听触控事件采用OnTouchEvent函数,从该函数参数MotionEvent中获取用户触控滑动图片的横向偏移量和纵向偏移量。具体方法为当监听事件为ACTION_DOWN即触控按下事件时,调用方法getRawX()和getRawY()来获取触控点的初始坐标,记为mRawX和mRawY中;当监听事件为ACTION_MOVE即触控移动事件时,调用方法getRawX()和getRawY()来获取当前触控点的坐标,记为moveX和moveY,根据当前触控点的坐标和触控点的初始坐标计算横向偏移量和纵向偏移量分别为moveX-mRawX和moveY-mRawY。Rect类对象的横坐标直接偏移横向偏移量,纵坐标直接偏移纵向偏移量。对于横向滑动时,纵向偏移量为0,对于纵向滑动时,横向偏移量为0。
步骤S4、以步骤S3修改后的rect对象为参数,调用BitmapRegionDecoder对象的decodeRegion方法,获取解码后的Bitmap对象并将其绘制到屏幕。
Claims (10)
1.Android平台非失真加载大尺寸图片的方法,其特征在于,包括如下步骤:
A、获取待加载图片的图片信息和当前显示屏幕的尺寸;
B、创建Rect类对象用以标定图片需要解码的区域,初始化BitmapRegionDecoder对象用于图片的解码;
C、监听触控事件,根据触控事件带来的坐标偏移量动态调整所述Rect类对象;
D、以所述Rect类对象为参数,调用BitmapRegionDecoder对象的decodeRegion方法,获取解码后的Bitmap对象并将其绘制到屏幕。
2.如权利要求1所述的Android平台非失真加载大尺寸图片的方法,其特征在于,所述步骤C中,坐标偏移量包括横向偏移量和纵向偏移量,当触控事件为触控按下事件时,获取触控点的初始坐标,当触控事件为触控移动事件时,获取当前触控点的坐标,根据当前触控点的坐标和触控点的初始坐标计算横向偏移量和纵向偏移量,根据横向偏移量和纵向偏移量调整所述Rect类对象。
3.如权利要求2所述的Android平台非失真加载大尺寸图片的方法,其特征在于,所述根据横向偏移量和纵向偏移量调整所述Rect类对象包括:Rect类对象的纵坐标偏移所述纵向偏移量,Rect类对象的横坐标偏移所述横向偏移量。
4.如权利要求1所述的Android平台非失真加载大尺寸图片的方法,其特征在于,所述图片信息包括图片的宽度、图片的高度和图片的格式。
5.如权利要求1所述的Android平台非失真加载大尺寸图片的方法,其特征在于,所述Rect类对象的初始值的大小设置为当前显示屏幕的尺寸。
6.Android平台非失真加载大尺寸图片的装置,其特征在于,包括获取单元、初始化单元、监控单元和加载单元;
获取单元,用于获取待加载图片的图片信息和当前显示屏幕的尺寸;
初始化单元,用于创建Rect类对象用以标定图片需要解码的区域,初始化BitmapRegionDecoder对象用于图片的解码;
监控单元,用于监听触控事件,根据触控事件带来的坐标偏移量动态调整所述Rect类对象;
加载单元,用于以所述Rect类对象为参数,调用BitmapRegionDecoder对象的decodeRegion方法,获取解码后的Bitmap对象并将其绘制到屏幕。
7.如权利要求6所述的Android平台非失真加载大尺寸图片的装置,其特征在于,所述坐标偏移量包括横向偏移量和纵向偏移量,监控单元还用于当触控事件为触控按下事件时,获取触控点的初始坐标,当触控事件为触控移动事件时,获取当前触控点的坐标,根据当前触控点的坐标和触控点的初始坐标计算横向偏移量和纵向偏移量,根据横向偏移量和纵向偏移量调整所述Rect类对象。
8.如权利要求7所述的Android平台非失真加载大尺寸图片的装置,其特征在于,监控单元根据横向偏移量和纵向偏移量调整所述Rect类对象时包括:Rect类对象的纵坐标偏移所述纵向偏移量,Rect类对象的横坐标偏移所述横向偏移量。
9.如权利要求6所述的Android平台非失真加载大尺寸图片的装置,其特征在于,所述图片信息包括图片的宽度、图片的高度和图片的格式。
10.如权利要求6所述的Android平台非失真加载大尺寸图片的装置,其特征在于,所述Rect类对象的初始值的大小设置为当前显示屏幕的尺寸。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811259235.7A CN109445895A (zh) | 2018-10-26 | 2018-10-26 | Android平台非失真加载大尺寸图片的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811259235.7A CN109445895A (zh) | 2018-10-26 | 2018-10-26 | Android平台非失真加载大尺寸图片的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109445895A true CN109445895A (zh) | 2019-03-08 |
Family
ID=65547696
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811259235.7A Pending CN109445895A (zh) | 2018-10-26 | 2018-10-26 | Android平台非失真加载大尺寸图片的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109445895A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110992334A (zh) * | 2019-11-29 | 2020-04-10 | 深圳易嘉恩科技有限公司 | 用于dcgan网络生成图像的质量评估方法 |
CN116486759A (zh) * | 2023-04-11 | 2023-07-25 | 艺壹佳文化科技(广东)有限公司 | 一种标识显示智能调节方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541605A (zh) * | 2011-12-30 | 2012-07-04 | Tcl集团股份有限公司 | 基于Android系统的图片加载方法和装置 |
CN104267996A (zh) * | 2014-09-29 | 2015-01-07 | 广州金山网络科技有限公司 | 一种图片资源处理方法、装置及终端 |
CN106547624A (zh) * | 2016-11-04 | 2017-03-29 | 武汉斗鱼网络科技有限公司 | 基于Android的图片加载方法及装置 |
CN107608731A (zh) * | 2017-09-15 | 2018-01-19 | 广州优视网络科技有限公司 | 一种图片加载方法和装置 |
-
2018
- 2018-10-26 CN CN201811259235.7A patent/CN109445895A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541605A (zh) * | 2011-12-30 | 2012-07-04 | Tcl集团股份有限公司 | 基于Android系统的图片加载方法和装置 |
CN104267996A (zh) * | 2014-09-29 | 2015-01-07 | 广州金山网络科技有限公司 | 一种图片资源处理方法、装置及终端 |
CN106547624A (zh) * | 2016-11-04 | 2017-03-29 | 武汉斗鱼网络科技有限公司 | 基于Android的图片加载方法及装置 |
CN107608731A (zh) * | 2017-09-15 | 2018-01-19 | 广州优视网络科技有限公司 | 一种图片加载方法和装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110992334A (zh) * | 2019-11-29 | 2020-04-10 | 深圳易嘉恩科技有限公司 | 用于dcgan网络生成图像的质量评估方法 |
CN110992334B (zh) * | 2019-11-29 | 2023-04-07 | 四川虹微技术有限公司 | 用于dcgan网络生成图像的质量评估方法 |
CN116486759A (zh) * | 2023-04-11 | 2023-07-25 | 艺壹佳文化科技(广东)有限公司 | 一种标识显示智能调节方法、装置、设备及存储介质 |
CN116486759B (zh) * | 2023-04-11 | 2024-01-30 | 艺壹佳文化科技(广东)有限公司 | 一种标识显示智能调节方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3694203B1 (en) | Method and device for obtaining exposure compensation value of high-dynamic-range image | |
US9892716B2 (en) | Image display program, image display method, and image display system | |
US8681187B2 (en) | Image processing apparatus, non-transitory storage medium storing image processing program and image processing method | |
EP2209090A1 (en) | Image restoring apparatus and method thereof | |
US8861895B2 (en) | Image processing apparatus | |
JP2020526973A (ja) | 関心領域の自動露出制御のための調整方法、端末機器、および非一時的なコンピュータ可読記憶媒体 | |
CN103366391B (zh) | 动态图像的画面渲染方法及画面渲染装置 | |
US20170184698A1 (en) | Method and apparatus for calibration of a device under test | |
US20170293205A1 (en) | Image display apparatus for displaying image, image display method for displaying image, and storage medium | |
CN109445895A (zh) | Android平台非失真加载大尺寸图片的方法及装置 | |
EP2926549A1 (en) | Image correction system, image correction method, and computer program product | |
CN110519633B (zh) | 无线传屏方法、装置、系统和智能交互平板 | |
US11025874B2 (en) | Image processing apparatus, control method, and non-transitory computer-readable storage medium | |
CN112184829A (zh) | 一种调整扫描状态的方法及装置 | |
CN106293417A (zh) | 屏幕画面显示方法及装置 | |
US9756306B2 (en) | Artifact reduction method and apparatus and image processing method and apparatus | |
US10205940B1 (en) | Determining calibration settings for displaying content on a monitor | |
CN104836982B (zh) | 一种视频聊天的图像处理方法及装置 | |
CN111866499B (zh) | 一种双目摄像头影像的中心校正方法 | |
US20160127704A1 (en) | Display control apparatus, method of controlling the same, and non-transitory computer-readable storage medium | |
US20200007710A1 (en) | Image processing device, imaging apparatus, image printing apparatus, control method of image processing device, and image processing program | |
US20200329244A1 (en) | Method of determining quantization parameters | |
CN107920239A (zh) | 投影图像自动调节方法、装置以及计算机可读存储介质 | |
US20170206637A1 (en) | Image correction apparatus and image correction method | |
JP2001292449A (ja) | 画像処理装置、画像処理方法、及び記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190308 |