在画布上画图后,要移动图形,如何删除原图中的文字?

解决方案 »

  1.   

    所有GDI中的图,都是位图格式BMP,要删除其中的文字,要从点阵入手:
    将文字所在的点以背景色代替即可;
    或者
    以反色在同样的位置写入同样的文字
      

  2.   

    TO:Bluce4587(老狼)
    那么如何才能获得字体的区域呢?
    先,谢谢了!!
      

  3.   

    我好奇的倒是,
    如何才能“将文字所在的点以背景色代替;”
    比如,我要在Canvas上,写一个“1”。
    怎么写?
      

  4.   

    图中删除文字目前DELPHI好象还没有这样的函数
    而且实现起来也不是几句话那么简单
    不过可以使用图象处理的第三方控件
      

  5.   

    不太明白你要的效果,
    如果字是你自己写的,不要直接写在Canvas上,可以先建立一个memBitmap,定点写在一个位置里,然后,变色,覆盖,alpha就随便你用了。gdi+可能能对你有帮助。
      

  6.   

    擦掉画布上的所有内容:
    image.Canvas.FillRect(image.Canvas.ClipRect);
    在新位置重画图吧
      

  7.   

    如果在图像上直接写字,就毫无办法再擦掉它,
    因为,即使你用OCR(字符识别)技术找出字符位置,擦掉字符后,其背景也不可能再恢复,
    这样一来,仍然会看到字,只是字的颜色是你所用的擦去的颜色而已.最好的办法是写字时就考虑到要擦,把这些字所在的背景图像保留起来,
    要擦掉它,就是把背景图像覆盖上去就行了.
      

  8.   

    还有一种办法(我常用),就是分层显示:
    把图像画在一层(即一个image1)上,字符写在另一层(image2)上,
    并将image2设置为transparent.要擦掉字符,就是把image2删掉就行了.
      

  9.   

    你是做撤销吧?
    擦掉比较难。
    可以用TBitmap的变量记录,然后再恢复。