CN114116077A - 一种图片编辑方法、装置、电子设备和介质 - Google Patents

一种图片编辑方法、装置、电子设备和介质 Download PDF

Info

Publication number
CN114116077A
CN114116077A CN202111424977.2A CN202111424977A CN114116077A CN 114116077 A CN114116077 A CN 114116077A CN 202111424977 A CN202111424977 A CN 202111424977A CN 114116077 A CN114116077 A CN 114116077A
Authority
CN
China
Prior art keywords
input
picture
control object
view control
input box
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
Application number
CN202111424977.2A
Other languages
English (en)
Inventor
詹琴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202111424977.2A priority Critical patent/CN114116077A/zh
Publication of CN114116077A publication Critical patent/CN114116077A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • G06F9/449Object-oriented method invocation or resolution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04812Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • G06F9/4492Inheritance

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明实施例提供了一种图片编辑方法、装置、电子设备和可读存储介质,所述方法包括:当在所述输入框中添加目标图片时,通过继承的方式创建针对所述目标图片的自定义视图控件对象;根据所述输入框的宽度,初始化所述自定义视图控件对象的宽度;将初始化后的所述自定义视图控件对象赋值至所述视图控件对象包含的控件类的第一属性中,以在所述输入框中显示所述目标图片;所述第一属性用于存储所需展示的图片信息。根据本发明实施例,将用于展示图片的自定义视图控件对象的宽度保持与输入框的宽度一致,然后将该自定义视图控件对象赋值给视图控件对象中的第一属性进行图片的展示,可以使得图片在输入框中独占一行显示。

Description

一种图片编辑方法、装置、电子设备和介质
技术领域
本发明涉及计算机技术领域,特别是涉及一种图片编辑方法、一种图片编辑装置、一种电子设备和一种计算机可读存储介质。
背景技术
在现有技术中,在iOS(苹果公司开发的移动操作系统)下实现富文本编辑功能,目前一般是使用UITextView和YYTextView,但是,UITextView和YYTextView均没有直接支持图片单独占一行的功能,只有当图片的宽度足够大的时候,才能保证图片和文字不显示在同一行。而如果图片的宽度小于TextView(文本框控件)的显示宽度,图片和文字就会出现在同一行中。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种图片编辑方法和相应的一种图片编辑装置、一种电子设备,以及一种计算机可读存储介质。
本发明实施例公开了一种图片编辑方法,通过终端的富文本编辑器提供用于作为输入框的视图控件对象,所述方法包括:
当在所述输入框中添加目标图片时,通过继承的方式创建针对所述目标图片的自定义视图控件对象;
根据所述输入框的宽度,初始化所述自定义视图控件对象的宽度;
将初始化后的所述自定义视图控件对象赋值至所述视图控件对象包含的控件类的第一属性中,以在所述输入框中显示所述目标图片;所述第一属性用于存储所需展示的图片信息。
可选地,所述当在所述输入框中添加目标图片时,通过继承的方式创建针对所述目标图片的自定义视图控件对象,包括:
在所述自定义视图控件对象上添加图片显示控件对象,并在所述图片显示控件对象上添加手势处理器;所述手势处理器用于触发图片点击预览事件。
可选地,所述将初始化后的所述自定义视图控件对象赋值至所述视图控件对象包含的控件类的第一属性中,以在所述输入框中显示所述目标图片,包括:
将所述第一属性所包含的属性信息作为入参信息传入预设调用方法中,生成对应的富文本字符串对象;
将所述富文本字符串对象赋值至所述视图控件对象的第二属性中,以在所述输入框中显示所述目标图片;所述第二属性用于将所包含的属性信息在所述输入框中进行展示。
可选地,所述方法还包括:
监测针对所述输入框的输入事件;
当监测到针对所述输入框的所述输入事件时,触发针对所述输入框的预设代理方法,并基于所述预设代理方法截获所述输入事件的输入内容;
确定所述输入内容的输入位置,并根据所述输入内容和所述输入位置确定对应的输入策略进行输入处理,以使得将所述输入内容添加至所述输入框后,所述输入框的光标不在图片起始位置或自定义视图控件对象起始位置。
可选地,所述根据所述输入内容和所述输入位置确定对应的输入策略进行输入处理,包括:
判断所述输入内容是否为删除符;和/或,判断所述输入位置是否为图片起始位置或自定义视图控件对象起始位置;
根据判断结果确定对应的所述输入策略进行输入处理。
可选地,所述根据判断结果确定对应的所述输入策略进行输入处理,包括:
若所述输入内容不为删除符,且所述输入位置为图片起始位置或自定义视图控件对象起始位置,则在所述输入内容所包含的文本信息后添加换行符,并将处理后的所述文本信息转换为富文本信息后在所述输入框中显示。
可选地,所述根据判断结果确定对应的所述输入策略进行输入处理,包括:
若所述输入内容为删除符,删除内容为换行符,删除位置不为所述输入框的起始位置,且所需删除的换行符所在位置的下一个位置为图片所在位置或自定义视图控件对象所在位置,则将光标移动到所述换行符之前,删除所述换行符之前的一个字符,并将删除后的剩余文本信息转换为富文本信息后在所述输入框中显示。
本发明实施例还公开了一种图片编辑装置,通过终端的富文本编辑器提供用于作为输入框的视图控件对象,所述装置包括:
创建模块,用于当在所述输入框中添加目标图片时,通过继承的方式创建针对所述目标图片的自定义视图控件对象;
初始化模块,用于根据所述输入框的宽度,初始化所述自定义视图控件对象的宽度;
赋值模块,用于将初始化后的所述自定义视图控件对象赋值至所述视图控件对象包含的控件类的第一属性中,以在所述输入框中显示所述目标图片;所述第一属性用于存储所需展示的图片信息。
可选地,所述创建模块,包括:
添加子模块,用于在所述自定义视图控件对象上添加图片显示控件对象,并在所述图片显示控件对象上添加手势处理器;所述手势处理器用于触发图片点击预览事件。
可选地,所述赋值模块,包括:
生成子模块,用于将所述第一属性所包含的属性信息作为入参信息传入预设调用方法中,生成对应的富文本字符串对象;
赋值子模块,用于将所述富文本字符串对象赋值至所述视图控件对象的第二属性中,以在所述输入框中显示所述目标图片;所述第二属性用于将所包含的属性信息在所述输入框中进行展示。
可选地,所述装置还包括:
监测模块,用于监测针对所述输入框的输入事件;
截获模块,用于当监测到针对所述输入框的所述输入事件时,触发针对所述输入框的预设代理方法,并基于所述预设代理方法截获所述输入事件的输入内容;
确定模块,用于确定所述输入内容的输入位置,并根据所述输入内容和所述输入位置确定对应的输入策略进行输入处理,以使得将所述输入内容添加至所述输入框后,所述输入框的光标不在图片起始位置或自定义视图控件对象起始位置。
可选地,所述确定模块,包括:
判断子模块,用于判断所述输入内容是否为删除符;和/或,判断所述输入位置是否为图片起始位置或自定义视图控件对象起始位置;
确定子模块,用于根据判断结果确定对应的所述输入策略进行输入处理。
可选地,所述确定子模块,包括:
第一显示单元,用于若所述输入内容不为删除符,且所述输入位置为图片起始位置或自定义视图控件对象起始位置,则在所述输入内容所包含的文本信息后添加换行符,并将处理后的所述文本信息转换为富文本信息后在所述输入框中显示。
可选地,所述确定子模块,包括:
第二显示单元,用于若所述输入内容为删除符,删除内容为换行符,删除位置不为所述输入框的起始位置,且所需删除的换行符所在位置的下一个位置为图片所在位置或自定义视图控件对象所在位置,则将光标移动到所述换行符之前,删除所述换行符之前的一个字符,并将删除后的剩余文本信息转换为富文本信息后在所述输入框中显示。
本发明实施例还公开了一种电子设备,包括:处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的一种图片编辑方法的步骤。
本发明实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的一种图片编辑方法的步骤。
本发明实施例包括以下优点:
在本发明实施例中,当需要在输入框中插入图片时,创建针对该图片的自定义视图控件对象,并根据输入框的宽度对该自定义视图控件对象的宽度进行初始化。通过采用上述方法,将用于展示图片的自定义视图控件对象的宽度保持与输入框的宽度一致,然后将该自定义视图控件对象赋值给视图控件对象中的第一属性进行图片的展示,可以使得图片在输入框中独占一行显示。
附图说明
图1是本发明实施例提供的一种图片编辑方法的步骤流程图;
图2是本发明实施例提供的另一种图片编辑方法的步骤流程图;
图3是一种光标显示在图片起始位置的示意图;
图4是一种光标显示在图片结束位置的示意图;
图5是本发明实施例提供的富文本编辑器响应于输入事件的处理流程示意图;
图6是本发明实施例提供的一种图片编辑装置的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
现有技术中,在iOS(苹果公司开发的移动操作系统)下实现富文本编辑功能,一般是使用UITextView和YYTextView,但是,UITextView和YYTextView均没有直接支持图片单独占一行的功能,只有当图片的宽度足够大的时候,才能保证图片和文字不显示在同一行。而如果图片的宽度小于TextView(文本框控件)的显示宽度,图片和文字就会出现在同一行中,从而影响富文本编辑器中的富文本展示效果。
此外,基于YYTextView实现的富文本编辑器,除了不能保证图片独占一行外,在编辑模式下,也无法支持点击图片进入大图预览模式,因为虽然YYTextView设置高亮的部分可以监听点击方法,但是该点击方法在编辑状态下是不响应的。而且,当图片上一行是文字时,如果在图片前面进行文字的输入或删除操作,会出现输入或者删除文字后,光标停留在图片前面而操作的却是上一行文字的问题,与用户的操作预期不符。
本发明实施例的核心构思之一在于,当需要在输入框中插入图片时,创建针对该图片的自定义视图控件对象,并根据输入框的宽度对该自定义视图控件对象的宽度进行初始化。通过采用上述方法,将用于展示图片的自定义视图控件对象的宽度保持与输入框的宽度一致,然后将该自定义视图控件对象赋值给视图控件对象中的第一属性进行图片的展示,可以使得图片在输入框中独占一行显示。
参照图1,示出了本发明实施例提供的一种图片编辑方法的步骤流程图,通过终端的富文本编辑器提供用于作为输入框的视图控件对象,具体可以包括如下步骤:
步骤101,当在所述输入框中添加目标图片时,通过继承的方式创建针对所述目标图片的自定义视图控件对象。
终端可以为移动终端,移动终端即移动通信终端,是指可以在移动中使用的计算机设备,其移动性主要体现在移动通信能力和便携化体积。可以包括手机、笔记本、POS机甚至包括车载电脑。移动终端具备操作系统,如Windows Mobile、Symbian、Palm、Android、iOS等。富文本编辑器,Multi-function Text Editor,简称MTE,是一种可内嵌于浏览器,所见即所得的文本编辑器。YYKit是一组庞大、功能丰富的iOS组件。其中的YYText提供功能强大的iOS富文本框架。在本发明实施例中,可以采用YYTextView实现富文本编辑功能,通过YYTextView提供作为富文本编辑器中输入框的视图控件对象。
UIVIew是iOS中的视图对象,显示在屏幕上的所有对象的基础类,所有显示在屏幕上的对象都继承于UIView。
在本发明实施例中,当在输入框中添加目标图片时,可以通过继承的方式创建针对该目标图片的自定义视图控件对象。具体而言,自定义视图控件对象可以是自定义继承自UIView的子类,记作NTImageAttachmentContent。该自定义视图控件对象支持传入针对目标图片的图片信息,并根据图片显示规则计算图片显示大小后进行图片显示。在一种示例中,如果目标图片为本地图片,则可以向自定义视图控件对象直接传入该本地图片的图片信息;而如果目标图片为网络图片,则可以向自定义视图控件对象传入该网络图片的地址信息。
步骤102,根据所述输入框的宽度,初始化所述自定义视图控件对象的宽度。
在本发明实施例中,自定义视图控件对象的宽度是根据输入框的宽度确定的。将整个自定义视图控件对象的宽度保持跟输入框的宽度一致,从而可以保证任何尺寸的图片均能独占一行显示。
步骤103,将初始化后的所述自定义视图控件对象赋值至所述视图控件对象包含的控件类的第一属性中,以在所述输入框中显示所述目标图片。
在本发明实施例中,视图控件对象所包含的控件类中具有第一属性,该控件类用于展示图片,第一属性用于存放所需展示的图片信息。通过将初始化后的自定义视图控件对象(包含目标图片的图片信息)作为控件类中第一属性的属性信息,从而可以使得目标图片在输入框中进行显示。将自定义视图控件对象赋值第一属性而不直接将所要进行展示的图片直接赋值,可以保证图片能够独占一行展示。
具体实施中,视图控件对象的控件类可以为YYTextAttachment,YYTextAttachment是NSAttributedString的类簇,它的实例作为富文本key属性YYTextAttachmentAttributeName的value。当富文本包含YYTextAttachment时,它会采用文本规则展示。比如,attachment的内容是UIImage时,它会被绘制为CGContext;attachment的内容是UIView或CALayer时,它会被加入到text container的view层或layer层上。控件类的第一属性为YYTextAttachment中的content属性。上述赋值过程相当于将NTImageAttachmentContent的实例对象赋值给YYTextAttachment中的content属性生成一个YYTextAttachment实例对象。
综上,在本发明实施例中,当需要在输入框中插入图片时,创建针对该图片的自定义视图控件对象,并根据输入框的宽度对该自定义视图控件对象的宽度进行初始化。通过采用上述方法,将用于展示图片的自定义视图控件对象的宽度保持与输入框的宽度一致,然后将该自定义视图控件对象赋值给视图控件对象中的第一属性进行图片的展示,可以使得图片在输入框中独占一行显示。
参照图2,示出了本发明实施例提供的另一种图片编辑方法的步骤流程图,通过终端的富文本编辑器提供用于作为输入框的视图控件对象,具体可以包括如下步骤:
步骤201,当在所述输入框中添加目标图片时,通过继承的方式创建针对所述目标图片的自定义视图控件对象。
在本发明实施例中,采用视图控件对象作为富文本编辑器的输入框。当在该输入框中添加目标图片时,可以通过继承的方式创建用于展示该目标图片的自定义视图控件对象,即将目标图片的图片信息存放于自定义视图控件对象这个容器中。
由于本步骤与步骤101相似,详细描述可参照步骤101,在此不再赘述。
针对步骤201,可以执行以下子步骤:
子步骤S11,在所述自定义视图控件对象上添加图片显示控件对象,并在所述图片显示控件对象上添加手势处理器。
其中,手势处理器用于触发图片点击预览事件。
在本发明一种可选的实施例中,在自定义视图控件对象上添加图片显示控件对象作为图片的显示控件,该图片显示控件对象的显示宽度可以根据用户实际需要进行设置。通过在图片显示控件对象上添加手势处理器可以实现在编辑状态下进行图片点击操作,进行图片放大预览。即自定义视图控件对象提供了点击图片的代理方法,采用该控件可以实现点击预览图片功能。
步骤202,根据所述输入框的宽度,初始化所述自定义视图控件对象的宽度。
初始化一个视图控件对象作为输入框,在输入框中添加图片时,实例化一个自定义视图控件对象,在对该实例化后的自定义视图控件对象进行初始化时,将该自定义视图控件对象的显示宽度设置为输入框的宽度。
步骤203,将初始化后的所述自定义视图控件对象赋值至所述视图控件对象包含的控件类的第一属性中,以在所述输入框中显示所述目标图片。
其中,第一属性用于存储所需展示的图片信息。
视图控件对象所包含的控件类中具有第一属性,可以将所需展示的图片信息赋值给该第一属性中。在本发明实施例中,是将包含图片信息的自定义视图控件对象赋值给第一属性。
举例而言,控件类的第一属性可以为YYTextAttachment类中的content属性,将自定义视图控件对象NTImageAttachmentContent赋值给content属性,实际上是将NTImageAttachmentContent的实例对象赋值给YYTextAttachment中的content属性生成一个YYTextAttachment实例对象。
由于本步骤与步骤103相似,详细描述可参照步骤103,在此不再赘述。
针对步骤203,可以执行以下子步骤:
子步骤S21,将所述第一属性所包含的属性信息作为入参信息传入预设调用方法中,生成对应的富文本字符串对象。
子步骤S22,将所述富文本字符串对象赋值至所述视图控件对象的第二属性中,以在所述输入框中显示所述目标图片。
其中,第二属性用于将所包含的属性信息在输入框中进行展示。
视图控件对象具有第二属性,第二属性的属性信息可以直接在输入框中进行显示。
举例而言,可以是调用yy_attachmentStringWithContent:contentMode:width:ascent:descent:方法生成一个NSMutableAttributedString实例对象,由于将自定义视图控件对象NTImageAttachmentContent赋值给content属性,content属性的属性信息即为NTImageAttachmentContent的实例对象,让NTImageAttachmentContent的实例对象作为yy_attachmentStringWithContent:contentMode:width:ascent:descent:方法的第一个参数的入参生成一个NSMutableAttributedString实例对象,NSMutableAttributedString实例对象为富文本字符串,可以将其赋值给YYTextView的attributedText属性来进行用户输入内容的显示,即可以将NSMutableAttributedString实例对象插入到输入框的光标位置,实现了图片在输入框中的显示,也可以保证图片是独占一行的。
为了使本领域技术人员能够更好地理解本发明实施例步骤201至步骤203,下面通过一个例子加以说明:
在移动终端中,使用YYTextView实现富文本编辑器。自定义一个继承自UIView的子类NTImageAttachmentContent,在NTImageAttachmentContent中添加一个YYAnimatedImageView对象来作为图片的显示控件,然后在YYAnimatedImageView对象上添加一个UITapGestureRecognizer手势来实现图片点击预览事件的触发。
在该富文本编辑器中的编辑过程可以包括:
1、初始化一个YYTextView实例对象,作为输入框。
2、在输入框中添加图片时,实例化一个NTImageAttachmentContent对象,初始化NTImageAttachmentContent实例对象时,将NTImageAttachmentContent实例对象的宽度设置为输入框的宽度,NTImageAttachmentContent实例对象中YYAnimatedImageView实例对象的显示宽度可根据用户需要进行自行设置。
3、将NTImageAttachmentContent实例对象赋值给YYTextAttachment中的content属性。YYTextView中是采用YYTextAttachment进行图片展示的,YYTextAttachment的content属性可以用来存放图片,content属性可以接受任何类型,不直接将要展示的图片赋值给content属性是为了保证这个图片能独占一行显示。
4、调用yy_attachmentStringWithContent:contentMode:width:ascent:descent:方法,将content属性入参生成一个NSMutableAttributedString实例对象。
5、将NSMutableAttributedString实例对象赋值给YYTextView实例对象的attributedText属性来做展示,将NSMutableAttributedString实例对象插入到光标位置,即实现了图片在输入框中的显示,也可以保证图片是独占一行的。
步骤204,监测针对所述输入框的输入事件。
在本发明实施例中,还可以在输入框中监测输入事件。其中,输入事件可以是由键盘或触控笔等外设设备触发的,对此,本发明实施例不加以具体限制。
步骤205,当监测到针对所述输入框的所述输入事件时,触发针对所述输入框的预设代理方法,并基于所述预设代理方法截获所述输入事件的输入内容。
当监测到用户执行输入操作时,触发输入框提供的代理方法拦截输入内容。举例而言,代理方法可以为textView:shouldChangeTextInRange:replacementText:代理方法。
步骤206,确定所述输入内容的输入位置,并根据所述输入内容和所述输入位置确定对应的输入策略进行输入处理,以使得将所述输入内容添加至所述输入框后,所述输入框的光标不在图片起始位置或自定义视图控件对象起始位置。输入位置即输入框中的光标所在位置。图片起始位置是指图片信息开始展示的位置。参照图3所示,为一种光标显示在图片起始位置的示意图,光标显示在图片前面(location处)。与之相对的,图片结束位置是指图片信息结束展示的位置。参照图4所示,为一种光标显示在图片结束位置的示意图,光标显示在图片后面。而图片所在位置包括图片信息的完整展示区域。由于本申请是将图片信息存放于自定义视图控件对象这个容器中进行显示,因此,图片起始位置也可以为自定义视图控件对象起始位置。
根据输入内容和输入位置确定输入策略,并按照输入策略进行相应的输入操作,使得执行该输入操作后,光标不在图片起始位置或自定义视图控件对象起始位置。
针对步骤206,可以执行以下子步骤:
子步骤S31,判断所述输入内容是否为删除符;和/或,判断所述输入位置是否为图片起始位置或自定义视图控件对象起始位置。
子步骤S32,根据判断结果确定对应的所述输入策略进行输入处理。
子步骤S33,若所述输入内容不为删除符,且所述输入位置为图片起始位置或自定义视图控件对象起始位置,则在所述输入内容所包含的文本信息后添加换行符,并将处理后的所述文本信息转换为富文本信息后在所述输入框中显示。
子步骤S34,若所述输入内容为删除符,删除内容为换行符,删除位置不为所述输入框的起始位置,且所需删除的换行符所在位置的下一个位置为图片所在位置或自定义视图控件对象所在位置,则将光标移动到所述换行符之前,删除所述换行符之前的一个字符,并将删除后的剩余文本信息转换为富文本信息后在所述输入框中显示。
由于本申请是将图片信息存放于自定义视图控件对象这个容器中进行显示,因此,图片所在位置也可以为自定义视图控件对象所在位置。
参照图5所示,为本发明实施例提供的富文本编辑器响应于输入事件的处理流程示意图,当监测到输入事件时,触发代理方法。可以在代理方法中判断输入内容是否为删除符,不是删除符的情况下继续判断输入位置是否为图片的起始位置(对应图5中的location位置),如果不在图片起始位置,说明用户不是在图片起始位置输入,可以不作处理直接进行输入操作;如果在图片起始位置,则可以在输入内容所包含的文本信息后面添加换行符,然后将处理后的文本信息转换成富文本信息后,插入到输入框中的光标位置进行显示,并将新的富文本信息赋值给输入框的第二属性,实现了在给第二属性赋值时就已经完成了输入内容的展示,不需要进行输入框的其他代理流程,例如不需要执行textViewDidChange:代理方法。
如果输入内容为删除符,则继续判断删除内容是否为换行符且判断输入位置是否不为输入框的起始位置(对应图5中的不为0),如果不满足该条件,则判断输入位置是否为图片的起始位置,之后流程可以参照上述流程;如果满足该条件,则判断所需删除的换行符所在位置的下一个位置是否为图片所在位置,如果不是图片所在位置则判断输入位置是否为图片的起始位置,之后流程可以参照上述流程;如果满足该条件,说明用户要删除图片之前的换行符,该换行符是在输入的时候添加的,用户实际上并不知道这个换行符的存在,因此不需要删除该换行符,在这种情况下需要将光标移动到换行符之前,删除换行符之前的一个字符,然后将剩余文本信息转换为富文本信息,并将新的富文本信息赋值给输入框的第二属性中。从用户角度看,是删除了图片前面的一个字符,符合用户操作预期。
综上,在本发明实施例中,当需要在输入框中插入图片时,创建针对该图片的自定义视图控件对象,并根据输入框的宽度对该自定义视图控件对象的宽度进行初始化。通过采用上述方法,将用于展示图片的自定义视图控件对象的宽度保持与输入框的宽度一致,然后将该自定义视图控件对象赋值给视图控件对象中的第一属性进行图片的展示,可以使得图片在输入框中独占一行显示。
本发明提供了一种可以让图片独占一行、编辑状态下可以响应图片点击事件以及让光标保持在输入或者删除的文字后面的富文本编辑器的实现方案。通过自定义一个视图控件,将控件的宽度保持跟输入框的宽度一致,可以让图片独占一行显示。该控件提供点击图片的代理方法实现点击预览图片的功能。通过在输入文本的时候判断输入内容和输入位置,如果是在图片起始位置且输入的不是删除符,则在输入的文字后面插入一个换行符,使得输入完成后光标会定位在输入的文字后;如果输入的是删除符,由于输入时只要是在图片的起始位置都会添加一个换行符,也就是每张图片与文字之间有一个换行符,则输入的是删除符时只需要将光标的位置移动到换行符前面,然后删除换行符前面的一个字符,从而可以删除图片前的一个字符然后将光标定位在输入的文字后。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图6,示出了本发明实施例提供的一种图片编辑装置的结构框图,通过终端的富文本编辑器提供用于作为输入框的视图控件对象,具体可以包括如下模块:
创建模块601,用于当在所述输入框中添加目标图片时,通过继承的方式创建针对所述目标图片的自定义视图控件对象;
初始化模块602,用于根据所述输入框的宽度,初始化所述自定义视图控件对象的宽度;
赋值模块603,用于将初始化后的所述自定义视图控件对象赋值至所述视图控件对象包含的控件类的第一属性中,以在所述输入框中显示所述目标图片;所述第一属性用于存储所需展示的图片信息。
在本发明实施例中,所述创建模块,包括:
添加子模块,用于在所述自定义视图控件对象上添加图片显示控件对象,并在所述图片显示控件对象上添加手势处理器;所述手势处理器用于触发图片点击预览事件。
在本发明实施例中,所述赋值模块,包括:
生成子模块,用于将所述第一属性所包含的属性信息作为入参信息传入预设调用方法中,生成对应的富文本字符串对象;
赋值子模块,用于将所述富文本字符串对象赋值至所述视图控件对象的第二属性中,以在所述输入框中显示所述目标图片;所述第二属性用于将所包含的属性信息在所述输入框中进行展示。
在本发明实施例中,所述装置还包括:
监测模块,用于监测针对所述输入框的输入事件;
截获模块,用于当监测到针对所述输入框的所述输入事件时,触发针对所述输入框的预设代理方法,并基于所述预设代理方法截获所述输入事件的输入内容;
确定模块,用于确定所述输入内容的输入位置,并根据所述输入内容和所述输入位置确定对应的输入策略进行输入处理,以使得将所述输入内容添加至所述输入框后,所述输入框的光标不在图片起始位置或自定义视图控件对象起始位置。
在本发明实施例中,所述确定模块,包括:
判断子模块,用于判断所述输入内容是否为删除符;和/或,判断所述输入位置是否为图片起始位置或自定义视图控件对象起始位置;
确定子模块,用于根据判断结果确定对应的所述输入策略进行输入处理。
在本发明实施例中,所述确定子模块,包括:
第一显示单元,用于若所述输入内容不为删除符,且所述输入位置为图片起始位置或自定义视图控件对象起始位置,则在所述输入内容所包含的文本信息后添加换行符,并将处理后的所述文本信息转换为富文本信息后在所述输入框中显示。
在本发明实施例中,所述确定子模块,包括:
第二显示单元,用于若所述输入内容为删除符,删除内容为换行符,删除位置不为所述输入框的起始位置,且所需删除的换行符所在位置的下一个位置为图片所在位置或自定义视图控件对象所在位置,则将光标移动到所述换行符之前,删除所述换行符之前的一个字符,并将删除后的剩余文本信息转换为富文本信息后在所述输入框中显示。
综上,在本发明实施例中,当需要在输入框中插入图片时,创建针对该图片的自定义视图控件对象,并根据输入框的宽度对该自定义视图控件对象的宽度进行初始化。通过采用上述方法,将用于展示图片的自定义视图控件对象的宽度保持与输入框的宽度一致,然后将该自定义视图控件对象赋值给视图控件对象中的第一属性进行图片的展示,可以使得图片在输入框中独占一行显示。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例还提供了一种电子设备,包括:处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述一种图片编辑方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述一种图片编辑方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种图片编辑方法和一种图片编辑装置、一种电子设备和一种计算机可读存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种图片编辑方法,其特征在于,通过终端的富文本编辑器提供用于作为输入框的视图控件对象,所述方法包括:
当在所述输入框中添加目标图片时,通过继承的方式创建针对所述目标图片的自定义视图控件对象;
根据所述输入框的宽度,初始化所述自定义视图控件对象的宽度;
将初始化后的所述自定义视图控件对象赋值至所述视图控件对象包含的控件类的第一属性中,以在所述输入框中显示所述目标图片;所述第一属性用于存储所需展示的图片信息。
2.根据权利要求1所述的方法,其特征在于,所述当在所述输入框中添加目标图片时,通过继承的方式创建针对所述目标图片的自定义视图控件对象,包括:
在所述自定义视图控件对象上添加图片显示控件对象,并在所述图片显示控件对象上添加手势处理器;所述手势处理器用于触发图片点击预览事件。
3.根据权利要求1所述的方法,其特征在于,所述将初始化后的所述自定义视图控件对象赋值至所述视图控件对象包含的控件类的第一属性中,以在所述输入框中显示所述目标图片,包括:
将所述第一属性所包含的属性信息作为入参信息传入预设调用方法中,生成对应的富文本字符串对象;
将所述富文本字符串对象赋值至所述视图控件对象的第二属性中,以在所述输入框中显示所述目标图片;所述第二属性用于将所包含的属性信息在所述输入框中进行展示。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
监测针对所述输入框的输入事件;
当监测到针对所述输入框的所述输入事件时,触发针对所述输入框的预设代理方法,并基于所述预设代理方法截获所述输入事件的输入内容;
确定所述输入内容的输入位置,并根据所述输入内容和所述输入位置确定对应的输入策略进行输入处理,以使得将所述输入内容添加至所述输入框后,所述输入框的光标不在图片起始位置或自定义视图控件对象起始位置。
5.根据权利要求4所述的方法,其特征在于,所述根据所述输入内容和所述输入位置确定对应的输入策略进行输入处理,包括:
判断所述输入内容是否为删除符;和/或,判断所述输入位置是否为图片起始位置或自定义视图控件对象起始位置;
根据判断结果确定对应的所述输入策略进行输入处理。
6.根据权利要求5所述的方法,其特征在于,所述根据判断结果确定对应的所述输入策略进行输入处理,包括:
若所述输入内容不为删除符,且所述输入位置为图片起始位置或自定义视图控件对象起始位置,则在所述输入内容所包含的文本信息后添加换行符,并将处理后的所述文本信息转换为富文本信息后在所述输入框中显示。
7.根据权利要求5所述的方法,其特征在于,所述根据判断结果确定对应的所述输入策略进行输入处理,包括:
若所述输入内容为删除符,删除内容为换行符,删除位置不为所述输入框的起始位置,且所需删除的换行符所在位置的下一个位置为图片所在位置或自定义视图控件对象所在位置,则将光标移动到所述换行符之前,删除所述换行符之前的一个字符,并将删除后的剩余文本信息转换为富文本信息后在所述输入框中显示。
8.一种图片编辑装置,其特征在于,通过终端的富文本编辑器提供用于作为输入框的视图控件对象,所述装置包括:
创建模块,用于当在所述输入框中添加目标图片时,通过继承的方式创建针对所述目标图片的自定义视图控件对象;
初始化模块,用于根据所述输入框的宽度,初始化所述自定义视图控件对象的宽度;
赋值模块,用于将初始化后的所述自定义视图控件对象赋值至所述视图控件对象包含的控件类的第一属性中,以在所述输入框中显示所述目标图片;所述第一属性用于存储所需展示的图片信息。
9.一种电子设备,其特征在于,包括:处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1-7中任一项所述的一种图片编辑方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的一种图片编辑方法的步骤。
CN202111424977.2A 2021-11-26 2021-11-26 一种图片编辑方法、装置、电子设备和介质 Pending CN114116077A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111424977.2A CN114116077A (zh) 2021-11-26 2021-11-26 一种图片编辑方法、装置、电子设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111424977.2A CN114116077A (zh) 2021-11-26 2021-11-26 一种图片编辑方法、装置、电子设备和介质

Publications (1)

Publication Number Publication Date
CN114116077A true CN114116077A (zh) 2022-03-01

Family

ID=80370498

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111424977.2A Pending CN114116077A (zh) 2021-11-26 2021-11-26 一种图片编辑方法、装置、电子设备和介质

Country Status (1)

Country Link
CN (1) CN114116077A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116560958A (zh) * 2023-04-24 2023-08-08 成都赛力斯科技有限公司 判断事件发生位置的实现方法、装置、终端及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116560958A (zh) * 2023-04-24 2023-08-08 成都赛力斯科技有限公司 判断事件发生位置的实现方法、装置、终端及存储介质
CN116560958B (zh) * 2023-04-24 2024-03-01 重庆赛力斯凤凰智创科技有限公司 判断事件发生位置的实现方法、装置、终端及存储介质

Similar Documents

Publication Publication Date Title
US11782581B2 (en) Display control method and device, electronic device and storage medium
EP3567476B1 (en) Application data processing method and apparatus, and storage medium
CN114629865B (zh) 与动态扩展应用程序交互的即时消息系统
TW201812567A (zh) 顯示資料的控制方法、裝置和系統
CN108549568B (zh) 应用入口处理方法、装置、存储介质及电子设备
US20180365527A1 (en) Method and device for controlling expression classification identifier, and a storage medium
CA2888714C (en) Communication device and method for receipt and presentation of input and feedback
USRE47812E1 (en) Adaptive determination of information display
CN111913616A (zh) 应用程序管理方法、装置和电子设备
US20180268515A1 (en) Information processing method and client
CN110704053B (zh) 一种样式信息的处理方法及装置
CN107045546B (zh) 一种网页处理方法、装置及智能终端
CN114116098B (zh) 应用图标管理方法、装置、电子设备及存储介质
JPWO2019039255A1 (ja) 端末装置、ui拡張方法及びui拡張プログラム
CN111324398B (zh) 最近内容的处理方法、装置、终端及存储介质
CN114116077A (zh) 一种图片编辑方法、装置、电子设备和介质
CN113051018A (zh) 会议系统的控制方法、装置、设备和介质
CN112163432A (zh) 翻译方法、翻译装置和电子设备
CN108733731B (zh) 一种更改文档中多媒体资源的便捷方法、装置及电子设备
CN113867581B (zh) 内容编辑方法、装置及电子设备
CN106933666B (zh) 一种调用信息输入程序的方法及一种电子设备
CN114518821A (zh) 应用图标管理方法、装置和电子设备
CN114580361A (zh) 文档处理方法、装置、电子设备和存储介质
CN104239407B (zh) 一种显示网页的方法和装置
CN111752631A (zh) 应用程序的参数设置方法、装置、电子设备和存储介质

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