不用 Pixels 如何在一个Canvas拷贝一条直线到另一Canvas 不用 Pixels 如何在一个Canvas拷贝一条直线到另一Canvas 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Canvas.CopyRect(目标Canvas的ClipRect,源Canvas, 源Canvas的ClipRect 我试过CopyRect能拷贝一个区域,不能拷贝一条线 我这儿有一段BCB的代码,应当能解决你的问题:void __fastcall TForm1::Button3Click(TObject *Sender){ int x, y; int Amplitude; float Period; BYTE ImageData[256][256], *LinePtr; Image1->Picture->Bitmap = new Graphics::TBitmap; Image1->Picture->Bitmap->PixelFormat = pf24bit; Image1->Picture->Bitmap->Width = 256; Image1->Picture->Bitmap->Height = 256; for (y=0; y<=255; y++) for (x=0; x<=255; x++) { Amplitude = 64*(255-y)/255; Period = 100*sqrt(1/(1+(exp(0.013*x)*exp(0.027*x)/400))); ImageData[x][y] = Amplitude*sin(2*M_PI/Period*x)+128; } // Copy the image data to TBitmap for (y=0; y<=255; y++) { LinePtr = (BYTE *) Image1->Picture->Bitmap->ScanLine[y]; for (x=0; x<=255; x++) { LinePtr[x*3] = ImageData[x][y]; // Red LinePtr[x*3+1] = ImageData[x][y]; // Green LinePtr[x*3+2] = ImageData[x][y]; // Blue } } Image1->Refresh();} 不用pix,可以用ScanLine啊,速度相当快。 使stringgrid滚动框条位于最下面 DELPHI如何利用BHO更改网页内容? 帮忙一下,分快用完了,delphi+MSSQL,怎样用SQL语句算出下面的值? 看看这个问题.文件内容读入问题 UpDown问题? 对线程查询感兴趣的高手进来看看这个程序 怎样设置checklistbox每列的宽度? win2000 怎么设置桌面主题?我没看到哪里能安装嘛 Delphi6自动完成的问题。 能否动态创建事件函数? 用谁知道My Documents 的环境变量呢?? 很棘手的 query的databasename属性设置
void __fastcall TForm1::Button3Click(TObject *Sender)
{
int x, y;
int Amplitude;
float Period;
BYTE ImageData[256][256], *LinePtr; Image1->Picture->Bitmap = new Graphics::TBitmap;
Image1->Picture->Bitmap->PixelFormat = pf24bit;
Image1->Picture->Bitmap->Width = 256;
Image1->Picture->Bitmap->Height = 256;
for (y=0; y<=255; y++)
for (x=0; x<=255; x++)
{
Amplitude = 64*(255-y)/255;
Period = 100*sqrt(1/(1+(exp(0.013*x)*exp(0.027*x)/400)));
ImageData[x][y] = Amplitude*sin(2*M_PI/Period*x)+128;
}
// Copy the image data to TBitmap
for (y=0; y<=255; y++)
{
LinePtr = (BYTE *) Image1->Picture->Bitmap->ScanLine[y];
for (x=0; x<=255; x++)
{
LinePtr[x*3] = ImageData[x][y]; // Red
LinePtr[x*3+1] = ImageData[x][y]; // Green
LinePtr[x*3+2] = ImageData[x][y]; // Blue
}
}
Image1->Refresh();
}