ホームページ  >  記事  >  WeChat アプレット  >  WeChat ミニ プログラム: json を使用すると、友達のサークル内で写真を共有できます

WeChat ミニ プログラム: json を使用すると、友達のサークル内で写真を共有できます

hzc
hzc転載
2020-06-12 10:01:093424ブラウズ

前に書いた


私は最近小さなプログラムに取り組んでいますが、モーメントで共有する写真を作成することがすべてのプロジェクトで必須であることがわかりました。落とし穴が多くて書くのが面倒で、似たようなコンポーネントが見つからなかったので自分で書きました。

デモ


WeChat ミニ プログラム: json を使用すると、友達のサークル内で写真を共有できます

左側は canvasdrawer によって描画され、右側は UI# によって与えられた画像です

WeChat ミニ プログラム: json を使用すると、友達のサークル内で写真を共有できます

##特徴


  • 使い方は簡単 - たった 1 つの json で絵を描くことができます

  • フル機能 - 使用シナリオの 90% に対応

  • テキストの描画 (改行、内容を超える省略記号、下線、アンダーライン、太字テキスト)

    • 絵を描きます

    • 長方形を描きます

    • ##絵を保存します
    • 複数の画像の描画
    • ##...
    • 少量のコード
  • エクスペリエンス

git clone https://github.com/kuckboy1994/mp_canvas_drawer
携帯電話で使用したい場合は、独自の appid を設定するだけです。

コンパイル モードでは、一般的に使用される 2 つのモードが設定されています:

通常の描画と単一の共有画像の描画。
  • #複数の図面、共有図面の連続描画

  • 使用


git clone https://github.com/kuckboy1994/mp_canvas_drawer
    をローカル
  • components ## に入れます# Canvasdrawer
  • 独自のプロジェクトにコピーします。

    ページを使用してコンポーネントを登録します

  • {
      "usingComponents": {
        "canvasdrawer": "/components/canvasdrawer/canvasdrawer"
      }
    }
  • 次のコードをページ **.wxml ファイルに追加します
    <canvasdrawer painting="{{painting}}" bind:getImage="eventGetImage"/>
  • painting

    は、渡す必要がある
  • json
です。

getImage メソッドは描画完了後のコールバック関数で、完成した画像のアドレスを event.detail に返します。 現在のクリの絵が一瞬表示されます。詳細な設定については、API

データ オブジェクトの最初の層には 3 つのパラメータが必要です。 :

高さ


ビュー

。構成内のすべての数値には単位がありません。これは、canvas が比例図を描画することを意味します。特定の表示サイズを決定するには、返された画像パスを image タグに配置するだけです。 現在描画できる構成は、imagetext

rect

の 3 種類です。設定する属性は基本的にcssのキャメルケース名を使用しており、比較的分かりやすいです。 #########画像###############

#属性意味デフォルト値オプションの値url##top左上隅とアートボードの上部の間の距離アートボードの左上隅と左側の間の距離描画する幅00

描画された画像アドレスは、/images/1.jpeg などのローカル画像にすることができます



# #left

##幅
##高さ どのくらいの高さで描くか

#text(テキスト)

##属性デフォルト値content描画画像のアドレス''(空文字列)カラーカラーブラックfontSizeフォント サイズ16テキストの配置#leftcenter,rightlineHeight行の高さ (複数行テキストのみ) 便利20
意味 オプション値



##textAlign

rect (長方形、直線)

##属性意味デフォルト値オプションの値background背景colorblack##top##leftアートボードの左上隅と左側の間の距離16width描画する幅0高さ#描く高さ


左上隅とアートボードの上部の間の距離



##0 ##

Q&A


最佳实践

绘制操作的时候最好 锁住屏幕 ,例如在点击绘制的时候

wx.showLoading({  title: &#39;绘制分享图片中&#39;,  mask: true})

绘制完成之后

wx.hideLoading()

具体可以参考项目下的 /pages/multiple

1.二维码和小程序码如何绘制?

  •    二维码和小程序码可以通过调用微信官方的接口产生,需要后端配合。

  •   然后走 type: image 类型进行绘制即可。

2.绘制流程相关

  •   views 数组中的顺序代表绘画的先后顺序,会有覆盖的现象。请各位使用者注意。

3.如何实现圆形头像?

  •    canvas 中没有绘制圆形图片的方法,所以使用了 hack 的方式来实现的。使用一张中间镂空的图片盖在头像上就可实现当前效果。

4.canvas drawer 组件为什么不直接显示canvas画板和其内容呢?

  •     考虑到大部分场景,我们都是用来把图片保存到本地,或用以展示。保存到本地,返回临时文件给调用者一定是最佳的解决方式。展示,转化成图片之后,就可以使用 image 基础组件的所有显示模式了,还能设置宽高。

推荐教程:《微信小程序

以上がWeChat ミニ プログラム: json を使用すると、友達のサークル内で写真を共有できますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はjuejin.cnで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。