如果我有一个绘制矩形,圆形和线条的程序,我想使用SaveFileDialog保存用户在表单上绘制的图片,这将如何完成?
我知道如何使用SaveFileDialog保存文本文件,只是不知道如何保存表单.
我需要从我的WPF应用程序中编写PDF文件.我见过一些第三方库来创建PDF文件,但我找不到任何可以让我写盒子或任何形状的文件.我是否必须使用.NET中的某些2D库,或者是否有提供该类型工作的PDF库?
这是我需要绘制的:
我将有一个对象列表List<ObjX> list;,我将用它来填充每个框.例如,将其视为所有员工的个人数据列表.
____________________________________
{header_img}
| Name: {name} | Surname: {surname}|
| Address : {address} | City: {cit}|
____________________________________
Run Code Online (Sandbox Code Playgroud)
这是一个非常糟糕的绘画,我要做的是更详细,包括甚至图像.
是否可以在 Open-GL 中绘制静态点云
glBegin(GL_POINTS);
for(float x = -1; x < 1; x += 0.1)
{
for(float y = -1; y < 1; y += 0.1)
{
for(float z = -1; z < 1; z += 0.1)
{
float d = 1-sqrt((x * x) + (y * y) + (z * z));
glColor3f(d, d, d);
glVertex3f(x, y, z);
}
}
}
glEnd();
Run Code Online (Sandbox Code Playgroud)
然后例如围绕这个云旋转?不用每次都画一遍吗?
我知道如何使用 Core Graphics 绘制简单的线条。我现在需要绘制一条尺寸线进行测量。有关我需要绘制的示例(红色),请参见下图。顶线很容易,但在对角线上绘制垂直线需要一些数学运算,我现在很难弄清楚。
每条主线都以 (x,y) 作为起点,以 (x1,y1) 作为终点。然后我需要绘制在每个点 (x,y) 和 (x1,y1) 处相交的垂直线。
计算这些垂直线的点所需的数学是什么?

我想使用DrawString在我的图形实例中编写一个垂直文本.
我的代码是这样的:
var graph = Graphics.FromImage(map);
Run Code Online (Sandbox Code Playgroud)
我从数据库中读到了文本及其位置:
graph.DrawString(ObjStationRepository.FindBy(i => i.Id == t.StationId).First().Description, new Font("B Nazanin", 18), Brushes.White, t.XLocation + 70, t.YLocation +80);
Run Code Online (Sandbox Code Playgroud)
但我的问题是,我需要将文本写入垂直位置而不是水平.但DrawString在水平方向写入文本!!
最好的祝福
我遇到了这样的问题.我正在制作一个小型照片编辑器,您可以在其中选择图像,更改图像的亮度对比度,在图像上绘制文本.这是表格.
.我有这个方法.
private void DrawText(string text, int x, int y)
{
RectangleF rectf = new RectangleF(x, y, 90, 50);
Graphics g = Graphics.FromImage(this.pictureBox1.Image);
g.SmoothingMode = SmoothingMode.AntiAlias;
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
g.PixelOffsetMode = PixelOffsetMode.HighQuality;
g.DrawString(text.ToString(), new Font("Tahoma", Convert.ToInt32(this.textBoxSize.Text.ToString())), Brushes.Black, rectf);
g.Flush();
}
private void SetBrightness(int brightness)
{
if (!object.ReferenceEquals(this.pictureBox1.Image, null))
{
Bitmap temp = (Bitmap)this.pictureBox1.Image;
Bitmap bmap = (Bitmap)temp.Clone();
if (brightness < -255) brightness = -255;
if (brightness > 255) brightness = 255;
Color c;
for (int i = 0; i < …Run Code Online (Sandbox Code Playgroud) 多边形以凸起形状绘制似乎是标准.请参阅stackoverflow.com/questions/15556929/open-gl-polygon但是,如果我选择填充它,则不适合我.如何在保持我定义的形状的同时填充多边形?
void drawFloor(){
// White
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); // GL_LINE works the way I want it too
//glDisable(GL_POLYGON_SMOOTH); // has no effect :(
glBegin(GL_POLYGON);
glColor3f(1.0, 1.0, 1.0);
glVertex3f(0, 0, 0); //0
glVertex3f(2*boxSize, 0, 0); //1
glVertex3f(2 * boxSize, -boxSize, 0); //2
glVertex3f(5 * boxSize, -boxSize, 0); //3
glVertex3f(5 * boxSize, 4 * boxSize, 0); //4
glVertex3f(6 * boxSize, 4 * boxSize, 0); //5
glVertex3f(6 * boxSize, 6 * boxSize, 0); //6
glVertex3f(0 * boxSize, 6 * boxSize, 0); //7
glVertex3f(0 * …Run Code Online (Sandbox Code Playgroud) 我在 WPF 的画布上绘制形状时遇到了一个非常奇怪的问题。
<DockPanel Grid.Row="3">
<Canvas Name="BottomCanvas" Margin="15" Background="Yellow">
<Canvas Name="TransparentCanvas" Background="Transparent"
MouseDown="TransparentCanvas_MouseDown"
MouseUp="TransparentCanvas_MouseUp"
MouseMove="TransparentCanvas_MouseMove"
Width="{Binding RelativeSource={RelativeSource FindAncestor,
AncestorType={x:Type Canvas}},Path=ActualWidth}"
Height="{Binding RelativeSource={RelativeSource FindAncestor,
AncestorType={x:Type Canvas}},Path=ActualHeight}">
</Canvas>
</Canvas>
</DockPanel>
Run Code Online (Sandbox Code Playgroud)
上面是我定义的画布。
下面是绘制椭圆的简单示例;我不知道为什么这没有效果。
Ellipse myEllipse = new Ellipse();
SolidColorBrush mySolidColorBrush = new SolidColorBrush();
mySolidColorBrush.Color = Color.FromArgb(0, 0, 255, 0);
myEllipse.Fill = mySolidColorBrush;
myEllipse.Width = myEllipse.Height = 100;
Canvas.SetTop(myEllipse, 15);
Canvas.SetLeft(myEllipse, 15); ;
bottomCanvas.Children.Add(myEllipse);
Run Code Online (Sandbox Code Playgroud)
任何人都可以看到有什么问题吗?
编辑:对不起。正如您在 XAML 画布中看到的,名为“BottomCanvas”,在我使用的代码中bottomCanvas,这是一个添加到MainWindow我不知道是什么的属性。那是交易。
我正在尝试使用鼠标事件在画布上画一条直线。我是java脚本的新手。有人可以帮助我或从我可以获得帮助的地方推荐一些东西吗?
我正在编写 ac# monogame。我有一个英雄,他可以射击。我想要那个,当他击中一个精灵(这里:一个简单的球)时,这个球应该在地图上被删除。
这是我的绘画方法
public void Draw(GameTime gameTime)
{
mMap.Draw(ScreenManager.mSprites);
ScreenManager.mSprites.Begin();
ScreenManager.mSprites.Draw(mTest, mHeroPos, Color.White);
ScreenManager.mSprites.Draw(mBall, new Rectangle(120, 120, 50, 50), Color.White);
DrawEffects();
ScreenManager.mSprites.End();
}
Run Code Online (Sandbox Code Playgroud)
我没有删除地图上球的代码,因为我不知道它。我有更多代码,但在这里展示它太多了,我认为这对我的问题并不重要。在这段代码中,我的英雄可以在精灵上行走和射击。一切都很完美。总而言之,我的问题是,我想用精灵射击,然后精灵应该消失。感谢帮助