예제 #1
0
        private void BORDER_ImportButton_Click(object sender, EventArgs e)
        {
            uint origin_x = (uint)BORDER_W8.Value;
            uint origin_y = (uint)BORDER_W10.Value;

            if (origin_x >= 60)
            {
                origin_x = 60;
            }
            if (origin_y >= 50)
            {
                origin_y = 50;
            }

            byte[] image;
            byte[] oam;
            bool   r = ImageUtilBorderAP.ImportBorder(this,
                                                      origin_x,
                                                      origin_y,
                                                      out image, out oam);

            if (!r)
            {
                return;
            }

            Undo.UndoData undodata = Program.Undo.NewUndoData(this);

            //画像の書き込み
            this.Border_InputFormRef.WriteImageData(this.BORDER_P0, image, true, undodata);

            //APの書き込み
            uint newaddr = InputFormRef.WriteBinaryData(this
                                                        , (uint)this.BORDER_P4.Value
                                                        , oam
                                                        , InputFormRef.get_data_pos_callback_ap
                                                        , undodata
                                                        );

            if (newaddr == U.NOT_FOUND)
            {
                Program.Undo.Rollback(undodata);
                return;
            }
            this.BORDER_P4.Value = U.toPointer(newaddr);
            Program.Undo.Push(undodata);

            //ポインタの書き込み
            this.BORDER_WriteButton.PerformClick();
            return;
        }
예제 #2
0
        void DrawBorderImages()
        {
            Bitmap parts = ImageUtilBorderAP.DrawBorderBitmap((uint)BORDER_P0.Value);

            BORDER_X_BG_PIC.Image = parts;
            if (parts == null)
            {
                X_BORDER_DRAW_SAMPLE.Image = null;
                return;
            }

            Bitmap retScreen = ImageUtilBorderAP.DrawBorderImages(parts, (uint)BORDER_P4.Value, (int)BORDER_W8.Value, (int)BORDER_W10.Value);

            X_BORDER_DRAW_SAMPLE.Image = retScreen;
        }
예제 #3
0
        private void BORDER_ExportButton_Click(object sender, EventArgs e)
        {
            string filename = Border_InputFormRef.MakeSaveImageFilename();

            ImageUtilBorderAP.SaveAPImages(filename, (uint)BORDER_P0.Value, (uint)BORDER_P4.Value, (int)BORDER_W8.Value, (int)BORDER_W10.Value);
        }