2006-02-25
移植了两个wordpress的插件
Coolcode.cn上有两个很不错的wordpress插件,CoolPlayer和CoolCode。其中coolcode可以只使用php就可以给很多常见的编程语言加亮,coolplayer更是能在几乎所有的浏览器(支持flash),windows,linux上播放多媒体文件。虽然drupal上也有提供以上两个功能的模块,但是语法加亮要perl模块,播放多媒体文件更是要求浏览器装插件,很是不便。于是花了些时间把这两个插件一起移植到drupal上了。
闲言少叙,看看成果。CoolPlayer的信息栏对齐还有点问题,除非不使用换行器。Click on "1 2 3" to switch different media
1 2 3 4 Loading...
Coofilter的coolcode暂时还不支持download功能,所以把linenum默认给off了
Download Code: ppmBar.h#ifndef PPMBAR_H
#define PPMBAR_H
#include "ppm.h"
struct seNode{int se;int lab;}; //lab=0 噪声,1边缘 2拐点
using namespace std;
class ppmBar{
public:
ppmBar(ppm *ppmImg);
~ppmBar();
bool init(float p);
bool findStart(int tBGw,int tBmin,int tWmax);
void displayStartEnd(int l);
bool classify();
int findClassP(seNode* n,int x,int m); //m=-1 向前找,1 向后 ,x起始点
int findClassLabP(seNode* n,int x,int m,int lab); //m=-1
bool calculateLineK();
bool readBarCode(BYTE* line,int num,int Wmin);
bool getEAN(char *jg);
bool check();
bool tryReadBarCode(int Wmin);
bool tryPReadBarCode(int w);
bool getEan13_1(int *oodd);
int odd(int w1,int w2,int w3,int w4);
// void rotate(double d); //用 endx,y kEnd参考
//-----------------------------------------------
ppm* img;
int lineNum;
int start1,start2,start3;
int end1,end2,end3;
int startEndNum;
int yuzi;
float N;
int ean13[13];
struct seNode *startx,*starty,*endx,*endy;
double kStart,kEnd;
private:
int isBW(BYTE* line ,int numMax,int bwMin);
int findDiff(BYTE* line);
int isBeginEnd(BYTE* line ,int numMax,int bwMin,int* lab);
int countBW(BYTE* line);
int getNum(int w1,int w2,int w3,int w4);
};
#endif /* PPMBAR_H */
目前只在drupal4.7上测试过。
闲言少叙,看看成果。CoolPlayer的信息栏对齐还有点问题,除非不使用换行器。Click on "1 2 3" to switch different media
1 2 3 4 Loading...
Coofilter的coolcode暂时还不支持download功能,所以把linenum默认给off了
Download Code: ppmBar.h#ifndef PPMBAR_H
#define PPMBAR_H
#include "ppm.h"
struct seNode{int se;int lab;}; //lab=0 噪声,1边缘 2拐点
using namespace std;
class ppmBar{
public:
ppmBar(ppm *ppmImg);
~ppmBar();
bool init(float p);
bool findStart(int tBGw,int tBmin,int tWmax);
void displayStartEnd(int l);
bool classify();
int findClassP(seNode* n,int x,int m); //m=-1 向前找,1 向后 ,x起始点
int findClassLabP(seNode* n,int x,int m,int lab); //m=-1
bool calculateLineK();
bool readBarCode(BYTE* line,int num,int Wmin);
bool getEAN(char *jg);
bool check();
bool tryReadBarCode(int Wmin);
bool tryPReadBarCode(int w);
bool getEan13_1(int *oodd);
int odd(int w1,int w2,int w3,int w4);
// void rotate(double d); //用 endx,y kEnd参考
//-----------------------------------------------
ppm* img;
int lineNum;
int start1,start2,start3;
int end1,end2,end3;
int startEndNum;
int yuzi;
float N;
int ean13[13];
struct seNode *startx,*starty,*endx,*endy;
double kStart,kEnd;
private:
int isBW(BYTE* line ,int numMax,int bwMin);
int findDiff(BYTE* line);
int isBeginEnd(BYTE* line ,int numMax,int bwMin,int* lab);
int countBW(BYTE* line);
int getNum(int w1,int w2,int w3,int w4);
};
#endif /* PPMBAR_H */
目前只在drupal4.7上测试过。







评论排行榜