首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >js之H5画布不显示图片的问题解决

js之H5画布不显示图片的问题解决

原创
作者头像
IT工作者
发布于 2022-05-16 13:22:38
发布于 2022-05-16 13:22:38
1.3K00
代码可运行
举报
文章被收录于专栏:程序技术知识程序技术知识
运行总次数:0
代码可运行

在onReady 执行

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<template>
    <view class="">
        <canvas style="" canvas-id="myCanvas" id="myCanvas"></canvas>
        <!-- <view class="container">
            <img :src="tempFilePath" />
        </view> -->
    </view>
 
</template>
 
<script>
    var that
    export default {
        data() {
            return {
                tempFilePath: ''
            }
        },
        onReady(option) {
            that = this;
            const ctx = uni.createCanvasContext('myCanvas')
            // uni.chooseImage({
            //   success: function(res){
                ctx.drawImage('../../static/sharePoster_bg.png', 0, 0, 150, 100)
                ctx.draw()
              // }
            // })
        },
        methods: {
        }
    }
</script>
 
<style lang="scss" scoped>
</style>

 

   

<template>
    <view class="">
        <canvas style="" canvas-id="myCanvas" id="myCanvas"></canvas>
        <view class="container">
            <image :src="tempFilePath" mode="widthFix"></image>
        </view>
    </view>
 
</template>
 
<script>
    var that
    export default {
        data() {
            return {
                tempFilePath: ''
            }
        },
        onReady(option) {
            that = this;
            const ctx = uni.createCanvasContext('myCanvas')
 
            ctx.drawImage('../../static/sharePoster_bg.png', 0, 0, 200, 380)
            ctx.fillStyle="#005B8C";
            ctx.font = "bold 60px Arial";
            // ctx.setFontStyle('color','#005B8C')
            ctx.fillText('A+', 15, 126)
            ctx.draw(true, () => {
                uni.canvasToTempFilePath({
                    x: 0,
                    y: 0,
                    width: 200,
                    height: 380,
                    destWidth: getApp().windowWidth,
                    destHeight: getApp().windowWidth/200*380,
                    canvasId: 'myCanvas',
                    fileType: "jpg",
                    quality: 1,
                    success(res) {
                        console.log('绘制成功-------', res)
                        uni.hideLoading();
                        that.tempFilePath = res.tempFilePath;
                    },
                    fail(err) {
                        console.log('绘制失败', err)
                    }
                });
            });
        },
        methods: {}
    }
</script>
 
<style lang="scss" scoped>
    canvas {
            background-color: #fff;
            border: 1px solid #d0d0d0;
            width: 100vw;
            height: 100vh;
            position: absolute;
            left: 100%;
        }
     
        .container {
            width: 100vw;
            align-items: center;
            overflow: auto;
            background: #fefefe;
        }
     
        .container image {
            width: 100%;
            position: absolute;
            top: 0;
        }
</style>

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
uniapp生成海报完整示例
uni.canvasToTempFilePath(object, component) 组件形式需要加指向component也就是this uni.createCanvasContext(canvasId, this)
2023/10/18
6860
uniapp生成海报完整示例
uniapp H5 画布自定义海报实现长按识别,分享,转发
前端使用uniapp制作H5自定义海报,本来以为挺简单的一常用功能画布,因为之前也在 H5 和小程序做过类似功能,所以直接上手干了,没想到还是遇到了一些坑,特此记录希望能够帮到大家。
IT工作者
2022/05/16
4K0
[猫头虎分享21天微信小程序基础入门教程] 第20天:小程序的多媒体功能与图像处理
大家好,我是猫头虎,一名全栈软件工程师。今天我们继续微信小程序的学习,重点了解小程序的多媒体功能与图像处理。这些功能可以帮助你在小程序中实现丰富的多媒体交互,提高用户体验。🚀
猫头虎
2024/05/31
1490
小程序 — canvas图片合成
前言:这章我们为图片添加一些小物件,然后用canvas合成并导出到本地。 GitHub:https://github.com/Ewall1106/miniProgramDemo 我们先看看图片合成
Ewall
2018/09/30
7.2K1
小程序 — canvas图片合成
微信小程序的图片色彩分析,解决画布网络图片报错问题,窃取网络图片的主色调
打不着的大喇叭
2024/03/11
1920
微信小程序的图片色彩分析,解决画布网络图片报错问题,窃取网络图片的主色调
uniapp-vue3-wechat聊天实例|uni-app+pinia2仿微信app
Uniapp_Vue3_Chat基于uni-app+vue3+pinia2+uv-ui跨三端(h5+小程序+APP端)仿微信聊天。
andy2018
2024/04/29
8230
开发小程序的一些小经验
图片在微信小程序中可以说是一个神奇的存在。在web开发中,我们会利用图片的自适应比如百分比而省去不少麻烦,因为高度会自适应。但是小程序中的图片都有一个初始大小,而且是固定的,无论你的图片多大多小,都是统一的320px*240px。虽然作为组件的图片支持平铺,剪切等呈现效果,但是容器大小都是固定的,所以每次使用image我们要想办法控制图片的大小。
小美娜娜
2019/04/04
9250
开发小程序的一些小经验
熬夜总结了 “HTML5画布” 的知识点(共10条)
(xStart,yStart)是线段的起点,(xEnd,yEnd)是线段终点。起点到终点之间的颜色呈渐变。
小灰
2020/08/02
7.7K0
微信小程序日常踩坑后的总结(猜测你也会遇到,持续更新。。。)
(1)图片需是本地图片或者是路径为https的网络图片; (2)使用网络图片要用wx.downloadFile( )下载,否则真机上无法显示图片; (3)wx.downloadFile()是异步的;
Ewall
2018/09/04
8140
微信小程序日常踩坑后的总结(猜测你也会遇到,持续更新。。。)
uniapp使用echarts在H5上显示报错问题的解决方法
在做uniapp vue3开发的echarts图表的时候,发现在浏览器上面正常运行,但在微信开发者工具上显示报错了,报错如下
炑焽
2024/08/11
6680
uniapp APP端水印相机实现
使用插件https://ext.dcloud.net.cn/plugin?id=4892
风花一世月
2024/03/19
5860
uniapp APP端水印相机实现
第九十期:一个小程序生成海报的问题
最近还是在做基于ts+taro的小程序开发,有个前端生成海报的需求。本来想着这个需求很简单,因为之前写过这个功能,基本的逻辑就是产品图片地址和小程序码图片地址下载到本地,然后通过createCanvasContext()这个方法拿到canvas的上下文,进行绘制即可。
terrence386
2022/07/15
5640
🥬 🐶的uniapp学习之🦌 【提取图片主题色生成背景 】
首先,这篇文章的最终的效果不是很成功。记录一下我在这个失败过程中遇到的问题和尝试过的技术。
用户4793865
2023/01/12
3K0
小程序canvas生成海报图片压缩和失真问题解决
我这里绘制二维码使用的 wxapp-qrcode ,也可以使用weapp-qrcode,基本是一样的,今天主要讲解适配不同屏幕尺寸的canvas。
PHP开发工程师
2022/04/14
2.2K0
微信小程序的图片色彩分析,窃取主色调,调色板
打不着的大喇叭
2024/03/11
4110
微信小程序的图片色彩分析,窃取主色调,调色板
canvas橡皮擦功能
 canvas橡皮擦功能  话不多说,直接上代码 <template>     <view>         <view class="wrapper">             <view class="handCenter">                 <canvas class="handWriting" style="height:300px" :disable-scroll="true" @touchstart="uploadScaleStart"               
痴心阿文
2022/11/18
6340
canvas橡皮擦功能
微信小程序之生成图片分享
通过社交软件分享的方式来进行营销小程序,是一个常用的运营途径。小程序本身支持直接将一个小程序的链接卡片分享至微信好友或微信群,然后别人就可以通过点击该卡片进入该小程序页面。但是小程序目前不支持直接分享到微信朋友圈,而对我们来说,微信朋友圈又是一个很重要的吸引别人关注的入口,所以,得想办法把这个资源利用起来。
一斤代码
2018/08/21
4.9K0
微信小程序之生成图片分享
微信小程序实现canvas生成海报保存到本地
效果图 <view> <canvas class="canvas" style="width: {{canvas_width}}px;height:{{canvas_height}}px;
明知山
2020/09/03
1.9K3
看微信小程序 wx.canvasToTempFilePath 方法之巨坑的解决之道
当然这个项目是可以用的,但是生成不了图片,打开 tempFilePath直接报错,发现了什么原因了吗?
全科
2018/08/15
4.5K0
小程序上传图片加水印
注意事项: 1.如果在画图完成后,有对应操作时,必须在draw的callback后执行,比如图片预览、改变画布大小等 ctx.draw(false, function() { console.log(‘后续操作’);
全栈程序员站长
2022/07/04
1.2K0
推荐阅读
相关推荐
uniapp生成海报完整示例
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档