Tag: layer

如何使用C#组合像图层的png图像数组?

我有一个名为的图像数组 image__trans.png 所有这些图像都有透明区域。 这个想法是,当把它们放在一起时,它们将形成一个漂亮的图像。 但我得到了一个奇怪的GDI +相关错误(“GDI +中发生了一般错误”),我一直在发疯。 我现在使用的代码可以看作如下; number_of_photos = 30; Bitmap temp = new Bitmap(“background.png”);//some white background 640×480 pixels temp.Save(“temp.png”, ImageFormat.Png); temp.Dispose(); for (int photo_no = 0; photo_no < number_of_photos; photo_no++) { Bitmap temp1 = new Bitmap("temp.png"); Graphics gra = Graphics.FromImage(temp1); Bitmap new_layer = new Bitmap("image_" + photo_no + "_trans.png"); //the images image__trans.png are […]

BLL,DAL,OBJ和3层架构

我的问题是关于3层架构。 我的项目简要类似于下面的内容,但令我恼火的是在我在数据库中插入新列后,我必须更新除BLL之外的所有字段。 在表示层中,我创建了一个OBJ以及DAL内部的DAL,还有一个SQL查询。 我必须手动更新所有这些字段。 如果我以“正常”的方式进行,我将所有这些放在表示层中并在一个地方进行更新。 我是否正确应用这种3层架构,使用这种分层架构有哪些优势? 我的第二个问题是: 在DAL内部,我通过_view收集数据。 我想知道,我应该为每个视图编写另一个BOboj吗?我已经有一个BOboj类但它不包含所有字段。 在插入数据时,我必须使用我的BOboj,但是,当列出数据时,我正在使用视图,在这种情况下,我应该为每个视图或另一个东西创建另一个BOboj_view类吗? 什么是easyies方式呢? 例如; 我有20个视图和40个类映射到sql server上的每个表,我的视图收集数据不同的表(这意味着不同的对象)。我应该再创建20个类,除了代表视图的40个? OBJ class BOboj { private int _PId; private string _Name; ……. ……. } DAL BOboj_DAL { public bool Add(BOboj obj) { using (SqlConnection con = Connect.connect) { string sql = “insert into Persons (Id,Name, ……. ……. } BBL BOboj_BLL { ……. […]

SetPixel太慢了。 是否有更快的方法来绘制位图?

我正在制作一个小型油漆程序。 我在位图上使用SetPixel来绘制线条。 当画笔大小变大时,如同25个像素一样,会有明显的性能下降。 我想知道是否有更快的方法来绘制位图。 以下是该项目的背景: 我正在使用位图,以便我可以利用图层,如Photoshop或GIMP。 正在手动绘制线条,因为这最终将使用图形输入板压力来改变线条长度的大小。 这些线条最终应沿着边缘进行抗锯齿/平滑处理。 我将包括我的绘图代码,以防万一这是缓慢而不是Set-Pixel位。 这是在绘画发生的窗口: private void canvas_MouseMove(object sender, MouseEventArgs e) { m_lastPosition = m_currentPosition; m_currentPosition = e.Location; if(m_penDown && m_pointInWindow) m_currentTool.MouseMove(m_lastPosition, m_currentPosition, m_layer); canvas.Invalidate(); } MouseMove的实现: public override void MouseMove(Point lastPos, Point currentPos, Layer currentLayer) { DrawLine(lastPos, currentPos, currentLayer); } DrawLine的实现: // The primary drawing code for most tools. […]