0

我正在用 C++Builder 制作一个数字白板程序。

TImage它在usingMouseDownMouseMoveevents上画线,如下所示:

Image1->Picture->Bitmap->Canvas->LineTo(x, y);

使用鼠标时没有问题。

但是,当我使用 Wacom 数位板画线时,它并不能完全识别笔的移动。与在白板上绘制图形相比,书写时出现的问题更多。

我不知道如何解决这个问题。

问题的原因是什么?我该如何解决?

附件是捕获的,以帮助您了解问题。左侧是鼠标,右侧是手写笔。

图片

代码是这样的:

void __fastcall TForm1::Image1MouseDown(TObject *Sender,
    TMouseButton Button, TShiftState Shift, int X, int Y)
{
    MouseClick = true;
    Image1->Picture->Bitmap->Canvas->MoveTo(X,Y);
    Image1->Picture->Bitmap->Canvas->LineTo(X,Y);
    if (Pen==1){
        if(type==0)                                           //pen
        {                                                    
            Image1->Picture->Bitmap->Canvas->Pen->Color = ColorDialog1->Color;
            PenColor = ColorDialog1->Color;
        }
        else if(type==1)                                    //eraser              
        {
            Image1->Picture->Bitmap->Canvas->Pen->Color = clWhite;
            PenColor = clWhite;
        }
        Image1->Picture->Bitmap->Canvas->Pen->Width = ScrollBar1->Position;
        PenWidth = ScrollBar1->Position;
    }
}
//--------------------------------------------------------------------------
void __fastcall TForm1::Image1MouseMove(TObject *Sender,
    TShiftState Shift, int X, int Y)
{
    if(MouseClick)
    {
        Image1->Picture->Bitmap->Canvas->LineTo(X,Y);
    }
}
4

0 回答 0