Assalamualaikum,,
Pada malam kali ini saya akan membahas mengenai touch pen yang ada pada form peserta , kita bahas fungsinya beserta koding / sintak nya kayak gimana . oke pada touch ini terdapat beberapa fungsi yaitu diantaranya :
- Save Ink
- Save Ink as a bitmap
- Load Ink
- Cut Ink
- Copy Ink
- Paste Ink
- Delete Ink
- Select Ink
- Format Ink
- Stylus Color
- Change stylus type
- Change pen
Pada menu save ini , berfungsi untuk mengsave hasil dari gambar yang sudah kita buat dan dengan ekstensi .bmp .
int marg = int.Parse(this.inkCanv.Margin.Left.ToString());
RenderTargetBitmap rtb =
new RenderTargetBitmap((int)this.inkCanv.ActualWidth - marg,
(int)this.inkCanv.ActualHeight - marg, 0, 0,
PixelFormats.Default);
rtb.Render(this.inkCanv);
BmpBitmapEncoder encoder = new BmpBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(rtb));
encoder.Save(file);
file.Close();
Pada menu open ini berfungsi untuk membuka gambar dari luar aplikasi , dan dalam bentuk ekstensi .jpg .bmp .
this.inkCanv.Strokes = new StrokeCollection(file);
Sesua dengan namanya yaitu NEW , fungsi ini untuk mengganti lembar dengan yang baru.
this.inkCanv.Strokes.Clear();
Pada fungsi cut ini fungsinya yaitu memotong obyek yag telah di seleksi.
if (this.inkCanv.GetSelectedStrokes().Count > 0)
this.inkCanv.CutSelection();
Fungsi ini yaitu untuk mengcopy obyek yang telah di seleksi.
if (this.inkCanv.GetSelectedStrokes().Count > 0)
this.inkCanv.CopySelection();
Fungsi ini adalah untuk menempelkan hasil copy an pada tempat yang kita inginkan.
if (this.inkCanv.CanPaste())
this.inkCanv.Paste();
Fungsi ini untuk menghapus obyek
if (this.inkCanv.GetSelectedStrokes().Count > 0)
{
foreach (Stroke strk in this.inkCanv.GetSelectedStrokes())
this.inkCanv.Strokes.Remove(strk);
}
Fungsinya yaitu untuk menyeleksi obyek
this.inkCanv.Select(this.inkCanv.Strokes);
Fungsi ini yaitu untuk memformat semua obyek yang di seleksi.
StylusSettings dlg = new StylusSettings();
dlg.Owner = this;
StrokeCollection strokes = this.inkCanv.GetSelectedStrokes();
if (strokes.Count > 0)
dlg.DrawingAttributes = strokes[0].DrawingAttributes;
else
dlg.DrawingAttributes = this.inkCanv.DefaultDrawingAttributes;
if ((bool)dlg.ShowDialog().GetValueOrDefault())
{
foreach (Stroke strk in strokes)
strk.DrawingAttributes = dlg.DrawingAttributes;
}
private void createGridOfColor()
{
PropertyInfo[] props = typeof(Brushes).GetProperties(BindingFlags.Public |
BindingFlags.Static);
foreach (PropertyInfo p in props)
{
Button b = new Button();
b.Background = (SolidColorBrush)p.GetValue(null, null);
b.Foreground = Brushes.Transparent;
b.BorderBrush=Brushes.Transparent;
b.Click += new RoutedEventHandler(b_Click);
this.ugColors.Children.Add(b);
}
}
Fungsinya disini yaitu untuk mengembalikan kursor , menghapus , menghapus per obyek dan menyeleksi.
public DrawingAttributes DrawingAttributes
{
set
{
chkPressure.IsChecked = value.IgnorePressure;
chkHighlight.IsChecked = value.IsHighlighter;
penWidth = value.Width;
penHeight = value.Height;
currColor = value.Color;
}
get
{
DrawingAttributes drawattr = new DrawingAttributes();
drawattr.IgnorePressure = (bool)chkPressure.IsChecked;
drawattr.Width=penWidth;
drawattr.Height = penHeight;
drawattr.IsHighlighter = (bool)chkHighlight.IsChecked;
drawattr.Color = currColor;
return drawattr;
}
}
Sekian...