Monday, September 9, 2013

Membuat Text Editor pada IOAA

Text Editor merupakan salah satu fasilitas yang ada dalam aplikasi IOAA yang berfungsi sebagai lembar jawaban yang digunakan oleh peserta. fasilitas ini menyediakan beberapa fitur diantaranya adalah toolbar untuk format penulisan dan juga Ink Pen untuk membuat penulisan rumus. Selain itu, Text Editor ini bisa menyalin format text dari text editor lain seperti Microsoft Word dan Microsoft Excel yang berupa tabel, grafik maupun gambar.
Terdapat menu toolbar diatas yang berfungsi antara lain, mulai dari kiri :
1. Insert Picture, digunakan untuk mengambil gambar dari komputer.
2. Select all, digunakan untuk men select semua object yang ada pada Text Editor.
3. Cut, digunakan untuk memindahkan object.
4. Copy, digunakan untuk menyalin object.
5. Paste, digunakan untuk menempelkan object hasil dari menu cut maupun copy.

Untuk script utama yang digunakan untuk pengambilan warna dengan memanfaatkan fungsi lainnya adalah sebagai berikut :                                    
      public Color SelectedColor
        {
            get { return selectedColor; }
            private set
            {
                if (selectedColor != value)
                {
                    selectedColor = value;
                    CreateAlphaLinearBrush();
                    UpdateTextBoxes();
                    UpdateInk();
                }
            }
        }
Ink Pen merupakan salah satu menu dari Text Editor yang digunakan pada aplikasi IOAA yang berfungsi sebagai pembuat rumus dalam bentuk gambar. Aplikasi ini mempermudah dalam pembuatan gambar rumus secara langsung dengan teknologi touch pen sekarang ini

. Dibawah ini merupakan script untuk menaruh objek yang sudah digambar melalui Ink Pen untuk dimasukkan ke Text Editor.
private void Button_Insert(object sender, RoutedEventArgs e)
        {
            try
            {
            RenderTargetBitmap rtb = new RenderTargetBitmap((int)inkCanv.ActualWidth, (int)inkCanv.ActualHeight, 96d, 96d, PixelFormats.Default);
            rtb.Render(inkCanv);
           
            Rect bounds = inkCanv.Strokes.GetBounds();
            bounds.Inflate(20, 20);
            bounds.Intersect(new Rect(0d, 0d, inkCanv.ActualWidth,
            inkCanv.ActualHeight));

            Int32Rect boundsI = new Int32Rect((int)bounds.X, (int)bounds.Y,
            (int)bounds.Width, (int)bounds.Height);
            CroppedBitmap bmp = new CroppedBitmap(rtb, boundsI);
            Clipboard.SetImage(bmp);
            f1.RichTextControl1.Paste();
            this.Close();
                }
                catch (Exception exc)
                {
                    this.Close();
                }
        }

Dibawah ini merupkan video tutorial cara pembuatannya:


No comments:

Post a Comment