提取富文本里得图片_小程序实践:基础内容之rich-text,如何单击预览rich-text中的图片并保存?...

b2df92b792c14893409bdd3a50cebd83.png

目录

1)主要属性
2)示例与最佳实践
​
相关问题:
​
1)如何保存rich-text富文本组件中的图片?
2)在富文本rich-text中,如何解决图片之间的间距问题?
3)富文本rich-text里面怎么插入ad广告标签?如何将html文本直接解析呈现?
4)rich-text中的图片能点击放大吗?
5)rich-text 解析富文本,图片过大,如何自定义大小?
6)rich-text怎么识别回车符?
7)rich-text不解析iframe标签?
8)rich-text的文本支持selectable吗?
9)如何使用rich-text处理视频的问题?
10)使用rich-text如何处理特殊类型的图片,例如data类型的url?
11)rich-text中如何显示云存储中的图片?

本文9840字,阅读9分钟,实践30分钟

文 / 石桥码农

rich-text是富文本组件。

25ff5b971707ef5083f0ac8a135cdf2c.png

1)主要属性

属性说明name节点名称,例如p、div、span、img等,大部分html标签都受支持,就连html5的ruby标签也支持attrs节点的属性,是定义在html标签上的属性,例如img标签的src属性children子节点列表,数组type节点类型,默认是node,可以不写,这时可以有children属性;如果是text,则只有一个text属性,只能包括纯文本space空格显示策略,有三种值,在中文环境直接取“emsp”就好,代表显示中文字符空格的大小。

2)示例与最佳实践

Wxml:

<rich-text space="emsp" nodes="{{nodes}}" bindtap="tap"></rich-text

js:

nodes: [{
  name: 'div',
  attrs: {
    class: 'div_class',
    style: 'line-height: 20px;padding:20px;'
  },
  children: [{
    type: 'text',
    text: '中文Hello&nbsp;World!'
  },{
    name: 'span',
    attrs:{
      style: 'color: green;'
    },
    children: [{
      type: 'text',
      text: 'message'
    }]
  },{
    name:'img',
    attrs:{
      src:'https://www.yishulun.com/favicon.ico',
      style:'width:30px'
    }
  },{
    name:'img',
    attrs:{
      src:'https://www.yishulun.com/images/qrcode.png',
      style:'width:100px'
    }
  }]
}]

使用rich-text组件,关键在于nodes的编写。

nodes是一个数组,数组中每个元素可以是复合的node节点,也可以是末节的text节点。简单分辨节点类型的方法,可以看节点有没有name属性,name代表标签名称,如果有name,代表是复合节点;如果没有,并且有type属性为”text”,代表是简单的文本节点。

当是text节点时,例如这个:

{
  type: 'text',
  text: 'message'
}

它代表的是最基本的文本,没有样式,它所有的样式都来自父节点的设定。在vue或wxml的模板中,类似于:

{{message}}

这样的一个纯文本节点,解析到虚拟DOM列表中,都是一个独立的节点。在nodes列表里的type为“text”的节点,与它们类似的,也是一个纯文本节点。

当是非text节点,必有一个name属性,例如:

{
    name:'img',
    attrs:{
      src:'https://www.yishulun.com/favicon.ico',
      style:'width:30px'
    }
  }

这相当于是一个img标签,翻译为html代码相当于:

<img src="https://www.yishulun.com/favicon.ico" style='width:30px'/>

从mdn文档上可以查到img标签还有其它属性,例如width、height、alt、ismap、longdesc、usemap等。这些html定义的属性原则上都可以在nodes里定义,但是在使用前,最好先查一下微信小程序rich-text组件的文档:

http://developers.weixin.qq.com/miniprogram/dev/component/rich-text.html

这里有一个受信任的HTML节点及属性列表,看看拟用的属性在不在受支持的范围。如果使用了不受信任的HTML节点,该节点及其所有子节点将会被移除。

下面看看相关问题:略

好了,我是石桥码农,今天的分享就到这里。有什么问题欢迎留言,也欢迎群内讨论。

2020年03月28日

3029bfdb3c7796fe374c914ebbf6e1a3.png
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
改变图像的尺寸(使用image.size)是常见的数据预处理步骤之一,尤其在深度学习。这可以帮助我们将图像调整为模型所需的输入尺寸。然而,改变图像尺寸可能会导致一些信息的损失,这可能会对模型的性能产生影响。 改变图像尺寸可能导致以下问题: 1. 失真:图像缩放可能会导致图像细节的丢失或模糊,这可能会影响模型对细节的感知能力。 2. 失真比例:在改变图像尺寸时,应该保持宽高比,否则会导致图像形变,使物体看起来扭曲或拉伸。 3. 数据不一致:如果在训练和测试阶段使用不同的图像缩放方法,可能导致训练和测试数据之间的不一致,从而降低模型的泛化能力。 为了确保改变图像尺寸不会对模型结果产生不可靠的影响,可以考虑以下几点: 1. 使用合适的插值方法:选择适当的插值方法可以最小化图像质量的损失。常见的插值方法包括最近邻插值、双线性插值和双三次插值等。 2. 保持一致性:在训练和测试阶段使用相同的图像缩放方法,以确保数据的一致性。 3. 数据增强:除了简单地改变图像尺寸,还可以考虑使用其他数据增强技术,如随机裁剪、旋转或翻转等,以增加样本的多样性和模型的泛化能力。 综上所述,改变图像尺寸是一种常见的数据预处理方法,但需要注意选择合适的插值方法和保持数据一致性,以确保模型结果的可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值