已知一个图像,怎样能实现改变图像中任意一个圆周的像素呢?
圆周的半径 位置已经知道,比如说图像中有一个圆周是白色的 怎样把这个圆周改成黑色的?谢谢

解决方案 »

  1.   

    用相关的软件处理一下不就可以了吗
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>.
      

  2.   

    楼上太扯淡了  要是用相关软件弄 你也别在这学习delphi编程了
      

  3.   

    采用TBitmap,ScanLine,遍历所有像素,找到符合条件的像素点,换成目标像素值。
      

  4.   

    delphi不支持GDI+么?直接找到位置画个黑色的圆不就完了?
      

  5.   

      procedure   Grayscale(const   Bitmap:TBitmap);   
      var     
          X:   Integer;     
          Y:   Integer;     
          PRGB:   pRGBTriple;   
          Gray:   Byte;   
      begin   
          for   Y   :=   0   to   (Bitmap.Height   -   1)   do   
          begin   
              PRGB   :=   Bitmap.ScanLine[Y];   
              for   X   :=   0   to   (Bitmap.Width   -   1)   do   
              begin   
                  Gray   :=   Trunc(0.3   *   PRGB^.rgbtRed   +   0.59   *   PRGB^.rgbtGreen   +   0.11   *   PRGB^.rgbtBlue);   
                  PRGB^.rgbtRed:=Gray;   
                  PRGB^.rgbtGreen:=Gray;   
                  PRGB^.rgbtBlue:=Gray;   
                  Inc(PRGB);   
              end;   
          end;   
      end;  
    这个是转换为灰度的,你只要把符合条件的颜色用Gray=0,代替掉就是黑色了,转换后另存为文件也可
      

  6.   

    圆的位置是什么?圆心的位置?
    如果是圆心的位置,那么加上半径,则可以知道圆围上的每个像素点的坐标(x,y)
    不管图像是用TBitmap,TGpbitmap,tbitmap32还是别的载的
    得到它的hdc
    用gdi函数GetPixel(HDC,X,Y)得到像素
    用SetPixel(HDC,X,Y)设置像素
    最后大侠多给点分,扶持小菜成长