Project1

标题: Bitmap&&DrawTextEx描绘变色渐变文字 [打印本页]

作者: 铅笔描绘的思念    时间: 2017-6-11 12:23
标题: Bitmap&&DrawTextEx描绘变色渐变文字
本帖最后由 铅笔描绘的思念 于 2017-6-11 12:25 编辑

前几天提问的本体哈自己瞎糊解决了 是createLinearGradient参数给常数了= =b
其实想要这个效果是因为VX上有描绘有颜色的渐变文字的效果很惊艳的
记得那时候VS开始都很多优质的VX游戏都会加上这个效果 MV有canvas非常简单的糊出来
还有位dalao提醒PIXI.Text也能做出渐变的效果 然后并没有研究出来=。=
就把瞎糊的贴出来好了效果配合全局控制字符调教的好的话其实很棒的。。
全局控制字符的话发现其实网上很多况且我糊的也不怎么样
效果图
JAVASCRIPT 代码复制
  1. //=============================================================================
  2. // Bitmap&DrawTextEx.js
  3. //=============================================================================
  4. (function() {
  5.     Bitmap.prototype._drawTextBody = function(text, tx, ty, maxWidth) {
  6.         this.gradientFillText(text, tx, ty, maxWidth, "#fff", this.textColor)
  7.     };
  8.     Bitmap.prototype.gradientFillText = function(text, x, y, mWidth, color1,
  9.                                                  color2) {
  10.         var context = this._context;
  11.         var grad;
  12.         grad = context.createLinearGradient(x, y-this.fontSize, x, y);
  13.         grad.addColorStop(0, color1);
  14.         grad.addColorStop(0.8, color2);
  15.         context.save();
  16.         context.fillStyle = grad;
  17.         context.fillText(text, x, y, mWidth);
  18.         context.restore();
  19.         this._setDirty();
  20.     };
  21.     var _bitmapDrawTextEx_initialize =Bitmap.prototype.initialize;
  22.     Bitmap.prototype.initialize = function(width,height) {
  23.         _bitmapDrawTextEx_initialize.call(this,width,height)
  24.         this.outlineColor = '#000';
  25.     }
  26. })();



如果不需要修改文字描边不透明的话吧initizlize那段删了就好 color1的话白色效果最好不建议改
addColorStop(0.8, color2) 0.8这个参数我也是试了好多次觉得0.8效果最好
作者: hiten227    时间: 2018-11-30 05:15
感谢楼主分享
作者: 超凡入梦    时间: 2021-9-7 01:44
怎么用的大佬给个教程啊





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1