大虾请进:关于调用API画点的疑问

CCCLover 2004-11-13 11:16:49
我想在C#里画点,可是.net类库不提供这样的方法,搜索csdn用贴位图的方法试了也不行,当画1像素的位图时,位图和位图之间总是有一定距离。
于是我就想在c#中调用windows api的SetPixel函数。这样:
[System.Security.SuppressUnmanagedCodeSecurity] // We won't use this maliciously
[System.Runtime.InteropServices.DllImport("gdi32.dll")]
public static extern int SetPixel(IntPtr hdc, int X, int Y, int crColor);

这样就带来了一个问题:hdc怎么获得?
GDI+里已经不是靠dc来画图了。各位大虾,怎么办?
救救小弟吧,急用!!!
...全文
143 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
CCCLover 2004-11-13
  • 打赏
  • 举报
回复
晕,这位大哥可真会将就。这样还是有间距啊。而且还不能控制点的像素。
不过还是谢过了。:)

还有没有好的方法啊?
czhenq 2004-11-13
  • 打赏
  • 举报
回复
Graphics.DrawString("·",Font,Brush,Point);

这也可以画个点 :)
CCCLover 2004-11-13
  • 打赏
  • 举报
回复
这样的点还是不连续...
期待更好的方法或回到我的问题,怎么从api中调,主要是怎么在.net里获得窗口的dc
CCCLover 2004-11-13
  • 打赏
  • 举报
回复
哦,楼上的楼上的方法好像可行,我去试一下.
CCCLover 2004-11-13
  • 打赏
  • 举报
回复
注:
我要实现一个真正的画点函数,要可以改变像素和颜色.
czhenq 2004-11-13
  • 打赏
  • 举报
回复
处理问题要会变通嘛:)

其实也有其他办法

你可以填充一块3*3大小的矩形,也是一个点

g.FillRectangle(new SolidBrush(Color.Black),50,50,3,3);

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧