Попробуйте эту apt-get удалить python-криптографию, также вам может потребоваться установить paramiko-1.10.0.tar.gz вручную.
➤ ansible --version ansible 2.1.0
Я настоятельно рекомендую против предыдущие два предложения. класс WriteableBitmap обеспечивает то, что Вам нужно предположение, что Вы используете 3,5 SP1. Прежде чем SP1 там не является никаким действительно хорошим ответом на этот вопрос в WPF, если Вы не обращаетесь к некоторому серьезному обману.
Вы могли поместить 1X1 Прямоугольные объекты на Холст
private void AddPixel(double x, double y)
{
Rectangle rec = new Rectangle();
Canvas.SetTop(rec, y);
Canvas.SetLeft(rec, x);
rec.Width = 1;
rec.Height = 1;
rec.Fill = new SolidColorBrush(Colors.Red);
myCanvas.Children.Add(rec);
}
, Который должен быть достаточно близок к тому, что Вы хотите
Можно добавить маленький, реагирует, если Вы хотите, но каждым из тех является FrameworkElement, таким образом, это - вероятно, немного тяжеловес. Другая опция состоит в том, чтобы создать себя DrawingVisual, привлечь его, представить его, тогда засовывают его в изображение:
private void DrawRubbish()
{
DrawingVisual dv = new DrawingVisual();
using (DrawingContext dc = dv.RenderOpen())
{
Random rand = new Random();
for (int i = 0; i < 200; i++)
dc.DrawRectangle(Brushes.Red, null, new Rect(rand.NextDouble() * 200, rand.NextDouble() * 200, 1, 1));
dc.Close();
}
RenderTargetBitmap rtb = new RenderTargetBitmap(200, 200, 96, 96, PixelFormats.Pbgra32);
rtb.Render(dv);
Image img = new Image();
img.Source = rtb;
MainGrid.Children.Add(img);
}
Если вы думаете о том, чтобы сделать что-то вроде трассировщика лучей, где вам нужно будет рисовать много точек, вы, вероятно, захотите нарисовать в памяти растрового изображения пространство напрямую, а не через слои абстракции. Этот код даст вам значительно лучшее время рендеринга, но это достигается за счет необходимости «небезопасного» кода, который может быть или не подходить для вас.
unsafe
{
System.Drawing.Point point = new System.Drawing.Point(320, 240);
IntPtr hBmp;
Bitmap bmp = new Bitmap(640, 480);
Rectangle lockRegion = new Rectangle(0, 0, 640, 480);
BitmapData data = bmp.LockBits(lockRegion, ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);
byte* p;
p = (byte*)data.Scan0 + (point.Y * data.Stride) + (point.X * 3);
p[0] = 0; //B pixel
p[1] = 255; //G pixel
p[2] = 255; //R pixel
bmp.UnlockBits(data);
//Convert the bitmap to BitmapSource for use with WPF controls
hBmp = bmp.GetHbitmap();
Canvas.Source = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(hbmpCanvas, IntPtr.Zero, Int32Rect.Empty, System.Windows.Media.Imaging.BitmapSizeOptions.FromEmptyOptions());
Canvas.Source.Freeze();
DeleteObject(hBmp); //Clean up original bitmap
}
Чтобы очистить hBitmap, вам нужно будет объявить это в верхней части файла класса:
[System.Runtime.InteropServices.DllImport("gdi32.dll")]
public static extern bool DeleteObject(IntPtr hObject);
Также обратите внимание, что вам нужно будет установить свойства проекта, чтобы разрешить небезопасный код. Вы можете сделать это, щелкнув правой кнопкой мыши проект в обозревателе решений и выбрав свойства. Перейдите на вкладку Build. Установите флажок «Разрешить небезопасный код». Также я считаю, что вам нужно будет добавить ссылку на System.Drawing.