longitachi / ZLPhotoBrowser

Wechat-like image picker. Support select photos, videos, gif and livePhoto. Support edit image and crop video. 微信样式的图片选择器,支持预览/相册内拍照及录视频、拖拽/滑动选择,编辑图片/视频,支持多语言国际化等功能;
MIT License
4.71k stars 950 forks source link

ZLTextStickerView 放大后字体模糊问题 #826

Closed fred-gz closed 11 months ago

fred-gz commented 1 year ago

Issue Description

文字贴纸放大后字体模糊

解决方案: 思路: 矫正label的transform, 修改label的bounds, 然后同比例修改font size 此方式可以解决问题, 但还没有经过严格测试,大家一起探讨解决方案 private func adjustLabelFontSize() {
var transform = CGAffineTransform.identity transform = transform.scaledBy(x: 1 / originScale, y: 1 / originScale) transform = transform.scaledBy(x: 1 / gesScale, y: 1 / gesScale)

    label.transform = transform

    var labFrame = originLabelFrame
    labFrame.origin = .zero
    labFrame.size.width = labFrame.width * originScale * gesScale
    labFrame.size.height = labFrame.height * originScale * gesScale

    label.bounds = labFrame
    label.font = UIFont.boldSystemFont(ofSize: style.font.pointSize * originScale * gesScale)
}
fred-gz commented 1 year ago

另外一种方案: 添加字体贴纸时, 将字体放大3倍计算originFrame, originScale 同比例缩小

longitachi commented 11 months ago

已采用将layer生成图片的方案