湖濱散記部落格的樹心幽徑[login][主頁]
359:seg3.c version 2 ( Quadratic flake)

alt

alt

//treehrt@hrt:~/lake$ g++  `Magick++-config --cxxflags --cppflags` -I/usr/local/include/ImageMagick-7  seg3.c `Magick++-config --ldflags --libs`  -L/usr/local/zlib/lib -lz

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#include <Magick++.h>
using namespace Magick;

void draw3(int ax,int ay,int bx,int by,int cx,int cy,int dx,int dy,Image *pim){


pim->strokeColor("blue"); 
int px=(ax+bx)/2;
int py=(ay+by)/2;
pim->draw(DrawableLine(ax,ay,px,py));

pim->strokeColor("red"); 
int qx=(ax+cx)/2;
int qy=(ay+cy)/2;
pim->draw(DrawableLine(px,py,qx,qy));

pim->strokeColor("green"); 
int rx=(bx+cx)/2;
int ry=(by+cy)/2;
pim->draw(DrawableLine(qx,qy,rx,ry));

}

void drawA(int L,int ox,int oy,int w,int h,Image *pim)
{
draw3(ox+w*2/3,oy+h,ox,oy+h,ox,oy+h*1/3,ox+w*2/3,oy+h*1/3,pim);
draw3(ox,oy+h*2/3,ox,oy,ox+w*2/3,oy,ox+w*2/3,oy+h*2/3,pim);
draw3(ox+w*1/3,oy,ox+w,oy,ox+w,oy+h*2/3,ox+w*1/3,oy+h*2/3,pim);
draw3(ox+w,oy+h*1/3,ox+w,oy+h,ox+w*1/3,oy+h,ox+w*1/3,oy+h*1/3,pim);

if (L<2) {
    drawA(L+1,ox+w/3,oy+h/3,w/3,h/3,pim);
    drawA(L+1,ox+w/3,oy,w/3,h/3,pim);
    drawA(L+1,ox,oy+h/3,w/3,h/3,pim);
    drawA(L+1,ox+w/3,oy+h*2/3,w/3,h/3,pim);
    drawA(L+1,ox+w*2/3,oy+h/3,w/3,h/3,pim);
    }
}

void drawB(int L,int ox,int oy,int w,int h,Image *pim)
{
drawA(L,ox+w*2/7,oy+h*2/7,w*3/7,h*3/7,pim);
drawA(L,ox,oy+h*3/7,w*3/7,h*3/7,pim);
drawA(L,ox+w/7,oy,w*3/7,h*3/7,pim);
drawA(L,ox+w*4/7,oy+h/7,w*3/7,h*3/7,pim);
drawA(L,ox+w*3/7,oy+h*4/7,w*3/7,h*3/7,pim);
}
int main()
{
int w=1024/15;
int h=768/15;

Image im( Geometry(w*15, h*15), Color("black"));
im.draw(DrawableStrokeColor(Color("black")));

im.strokeWidth(2);
drawB(0,4*w,4*h,w*7,h*7,&im);
drawB(0,0,h,w*7,h*7,&im);
drawB(0,7*w,0,w*7,h*7,&im);
drawB(0,8*w,7*h,w*7,h*7,&im);
drawB(0,w,8*h,w*7,h*7,&im);

char st[60];
sprintf(st,"w=%d h=%d",w,h);
im.font("/usr/share/fonts/truetype/arphic/uming.ttc");
im.fontPointsize(32);
im.draw(DrawableText(32, 32, st));
im.write("seg3.jpg");
}


select id,article_id,topic,text from lt_articles_text where article_id =359; ok. update lt_articles set num_reads=num_reads +1 where id=359; ok.