完美支持中文wp-cumulus标签云插件源码(无锯齿无抖动7K大小)
1、首先安装wp-cumulus 标签Tag Cloud插件
这个不用教了吧?:)啰嗦一下:
参数:
wp_tag_cloud parameters:smallest=8&largest=22&number=45
设置最小字体、最大字体、总数量
应用:
若网站主题不能自动支持,可以手动编辑php文件,加入 <?php wp_cumulus_insert(); ?> 代码。
2、使用说明
鼠标右击下面链接,选择“另存为”(仅7K大小,效果见本站首页右下):
/wp-content/plugins/wp-cumulus/tagcloud.swf
上传替换网站 /wp-content/plugins/wp-cumulus/ 下tagcloud.swf文件,即可完美支持中文。
——以下是开发者阅读,普通用户可以略过————————————————————
3、修改wp-cumulus源代码
安装Adobe Flash CS4 后打开wp-cumulus源文件,按照上图步骤,选择“tag”文本框,不嵌入字符。
4、修改Tag.as
打开 C:\wp-cumulus\flash sources\com\roytanck\wpcumulus\Tag.as
源代码:
package com.roytanck.wpcumulus
{
import flash.geom.ColorTransform;
import flash.filters.*;
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.text.*;
public class Tag extends Sprite {
private var _back:Sprite;
private var _node:XML;
private var _cx:Number;
private var _cy:Number;
private var _cz:Number;
private var _color:Number;
private var _hicolor:Number;
private var _active:Boolean;
private var _tf:TextField;
public function Tag( node:XML, color:Number, hicolor:Number ){
_node = node;
_color = color;
_hicolor = hicolor;
_active = false;
_tf = new TextField();
_tf.autoSize = TextFieldAutoSize.LEFT;
_tf.selectable = false;
_tf.antiAliasType = AntiAliasType.ADVANCED;
var format:TextFormat = new TextFormat();
format.font = "微软雅黑, Arial, 黑体";//设置字体
format.bold = true;
format.color = color;
format.size = 16 * getNumberFromString(node["@style"]);
_tf.defaultTextFormat = format;
//_tf.embedFonts = true; //是否使用字符库,这个肯定要注释掉
_tf.text = node;
var _loc_5:BlurFilter = new BlurFilter(5, 5, 1);
_tf.filters = [_loc_5];
var _loc_6:Bitmap = new Bitmap(null, "auto", true);
var _loc_7:BitmapData = new BitmapData(_tf.width, _tf.height, true, color);
_loc_7.draw(_tf);
_loc_6.bitmapData = _loc_7;
_loc_6.scaleY = 0.15;
_loc_6.scaleX = 0.15;
addChild(_loc_6);
_loc_6.x = (-this.width) / 2;
_loc_6.y = (-this.height) / 2;
_back = new Sprite();
_back.graphics.beginFill(_hicolor, 0);
_back.graphics.lineStyle(0.6, _hicolor);
_back.graphics.drawRect(0, 0, _loc_6.width, _loc_6.height);
_back.graphics.endFill();
addChildAt(_back, 0);
_back.x = (-_loc_6.width) / 2;
_back.y = (-_loc_6.height) / 2;
_back.visible = false;
if( _node["@href"].substr(0,4).toLowerCase() == "http" ){
this.mouseChildren = false;
this.buttonMode = true;
this.useHandCursor = true;
this.addEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler);
this.addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler);
this.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
}
}
private function mouseOverHandler( e:MouseEvent ):void {
_back.visible = true;
_tf.textColor = _hicolor;
_active = true;
}
private function mouseOutHandler( e:MouseEvent ):void {
_back.visible = false;
_tf.textColor = _color;
_active = false;
}
private function mouseUpHandler( e:MouseEvent ):void {
var request:URLRequest = new URLRequest( _node["@href"] );
var target:String = _node["@target"] == undefined ? "_self" : _node["@target"];
navigateToURL( request, target );
}
private function getNumberFromString( s:String ):Number {
return( Number( s.match( /(\d|\.|\,)/g ).join("").split(",").join(".") ) );
}
public function set cx( n:Number ){ _cx = n }
public function get cx():Number { return _cx; }
public function set cy( n:Number ){ _cy = n }
public function get cy():Number { return _cy; }
public function set cz( n:Number ){ _cz = n }
public function get cz():Number { return _cz; }
public function get active():Boolean { return _active; }
}
}
5、源代码下载
由于本空间不支持rar文件,所以有兴趣的可以到我的CSDN地址下载:
http://download.csdn.net/source/2571076
6、说明
花了一天的时间,查找了许多资料,先是官方的不支持中文,后来找到方法支持中文但是有抖动的现象,效果不好,再后来找到无抖动的swf文件,但是不开源,于是自己琢磨。。
请保留本站链接,咱都不收费而且开源了,是吧?。。呵呵
把一些注释、空格、再优化下代码,swf文件还可以压缩,这个需要你自己尝试了。。。
本文地址:https://wizzer.cn/archives/482 , 转载请保留.

帅哥,你真厉害啊
帅哥,我爱你~~ 你愿意娶我吗?
囧。。。
= = 花你最近是不是到发情期了。
已经过了. ..
第一个评论好好激动
谢谢你啊,O(∩_∩)O~
🙂 不客气~
若网站主题不能自动支持,可以手动编辑php文件,加入 代码。
你好,这个php的代码加到哪里呢?请赐教啊~谢谢
1、如主题是标准的设计,则可以在后台:外观-小工具-把 WP-Cumulus 拖动右侧边栏,设置颜色等参数即可。
2、如主题是自定义的,则修改主题文件夹下面的 sidebar.php 侧边栏文件,把那段代码加在合适位置。
可以了,我下载wp_cumulus时,下错了。。。不好意思,打扰了!
谢谢!
教程好!
感谢分享 呵呵~
正需要呢~~
中文是支持了,也没有抖动,缩放滚动也流畅了
但插件原有的文字大小设置全部都失效了,标签文字全部是统一大小的。
看不出来主次之分
字体大小,怎么设置呢?大侠帮忙
还是不太流畅
而且好小个啊
具体后台怎么设置啊?
太好了,我网站已经装上了,很流畅,不卡。谢谢