Kamis, 23 Mei 2013

Class java untuk rotasi Gambar

import greenfoot.*;
import java.awt.Color;

public class TransformImage
{
    public GreenfootImage rotate(GreenfootImage image,int degree)
    {
        double angle=1.0*degree*Math.PI/180;
        GreenfootImage imageo=new GreenfootImage(image.getWidth(),image.getHeight());
        for(int i=0;i<image.getWidth();i++){
            for(int j=0;j<image.getHeight();j++){
                Color warna=image.getColorAt(i,j);
                int ia=(int)(1.0*i-0.5*image.getWidth());
                int ja=(int)(1.0*j-0.5*image.getHeight());
                int io=(int)(ia*Math.cos(angle)-ja*Math.sin(angle));
                int jo=(int)(ia*Math.sin(angle)+ja*Math.cos(angle));
                io=(int)(1.0*io+0.5*image.getWidth());
                jo=(int)(1.0*jo+0.5*image.getHeight());
                if(io>=0 && jo>=0 && io<image.getWidth() && jo<image.getHeight()){
                    imageo.setColorAt(io,jo,warna);
                }
            }
        }
        return imageo;
    }
}

Selasa, 12 Maret 2013

_beginthreadex Example


#define WIN32_LEAN_AND_MEAN
#include
#include
#include
#include

#define NumData 15000

struct paramo{
paramo(int *in,int awal,int akhir,int id):data(in),start(awal),end(akhir),ID(id){}
int *data,start,end,ID;
};

using namespace std;

int *counter;

void ThreadFunc(void* param)
{
    paramo *flu=(paramo*)param;
//if(flu->ID==1)cout<start<<" "<end< for(int i=flu->start;iend;i++){
flu->data[i]+=1;
}
}

void makeThread()
{
const int num=5;
HANDLE THandle[num];
unsigned threadID;
int step=(int)(1.0*NumData/num);
for(int i=0;i int awal=i*step;
int akhir=(i+1)*step;
if(i==(num-1))akhir=NumData;
paramo *po=new paramo(counter,awal,akhir,i);
//cout<start<<" "<end<<" "<ID< THandle[i]=(HANDLE)_beginthreadex(NULL,0,(unsigned (__stdcall *)(void *))ThreadFunc,po,0,&threadID);
}
WaitForMultipleObjects(num,THandle,TRUE,INFINITE);
CloseHandle(THandle);
}

int main()
{
    counter=new (nothrow) int[NumData];
if(counter==0){
cout<<"Gagal!"< return 1;
}
for(int i=0;i int j=0;
while(j<50000 p=""> makeThread();
for(int i=0;i if(i==1)cout< //counter[i]=0;
}
cout<<"\n";
j++;
}

delete [] counter;

return 0;
}

Kamis, 12 Maret 2009

KARYA Q

Aku Bojone wong kediri, bojo q jenenge Ubed. Areke elek tapi ngangeni. Tiap hari tak nesuni, tapi areke tetep sayang puol mbek aq. Kadang aq yo mesak ke, la piye cz areke nyebel ke Sak jane aq yo sayang mbek areke. la tapi yo piye menh aq yo egois areke jg, ndek kadung nesu yo wes ngunu kui wes, ora mari-mari...smpek nangis barang...