ยังไงต้องผ่าน cropped ภาพระหว่างแบบฟอร์มใน C#Winform องโปรแกรม?

0

คำถาม

ฉันกำลังทำงานอยู่ติดต่อผู้จัดการพื้นที่ทำงานแอพใน C#งหน้าต่างแบบฟอร์มและฉันกำลังพยายามจะเพิ่มร่างอวตารของภาพ cropping วามสามารถของคุณสมบัติ. ภาพกำลังผ่านมาจากหนึ่งรูปแบบอื่นโดยที่ไม่มีปัญหา อย่างไรก็ตามภาพหลังจาก cropping คือการไม่ผ่านกลับไปที่การล็อกอินแบบฟอร์ไม่ว่าอะไรฉันกำลังทำอะไรอยู่ ฉันพยายามจะเปลี่ยนรูปภาพในแบบฟอร์มการล็อกอินมากเกินเป็น constructor และสร้างใหม่วัตถุอัน cropping องภาพได้ที่นี่ ฉันได้รับเช่นข้อผิดพลาดเกิดขึ้นระหว่างไงก็ตาม:

ระบบArgumentOutOfRangeException:"พารามิเตอร์ต้องเป็นระหว่างค่าที่เป็นบวกและ<ความสูงของ. (พารามิเตอร์'y')"

คนยกเว้นเกิดขึ้นใน'สี pxlColor'บรรทัด.

ข้าวโพดไปส่วนหนึ่วิธีการที่ cropped ภาพถูกสร้าง:

        private void button_Crop_Image_Click(object sender, EventArgs e)
        {
            Cursor = Cursors.Default;
            Bitmap bitmap2 = new Bitmap(pictureBox1.Width, pictureBox1.Height);
            pictureBox1.DrawToBitmap(bitmap2, pictureBox1.ClientRectangle);

            Bitmap croppedImage = new Bitmap(rectW, rectH);
            for (int x = 0; x < rectW; x++)
            {
                for (int y = 0; y < rectH; y++)
                {
                    Color pxlColor = bitmap2.GetPixel(cropX + x, cropY + y);
                    croppedImage.SetPixel(x, y, pxlColor);
                }
            }

            pictureBox2.Image = (Image)croppedImage;

            Login_Register_Form login = new Login_Register_Form(croppedImage);

            pictureBox2.SizeMode = PictureBoxSizeMode.StretchImage;
        }

ภาพเป็นอย่างถูกต้องแสดงบน pictureBox2.ภาคสนาม Constructor จากรูปแบบการล็อกอิน:

        public Login_Register_Form(Bitmap croppedImage)
        {
            this.croppedPicture = (Image)croppedImage;
            pictureBoxProfileImage.Image = this.croppedPicture;
        }

ฉันเพิ่งทำไปแล้วค้นหาข้อมูลบางอย่างในเรื่องนั้นและเจอว่าที่ aforementioned เกิดข้อผิดพลาดอาจจะเนื่องจากต่างออกขนาดของภาพช่องข้อมูล. หลังจากให้ของขนาดเท่ากับเป็น NullObjectReference occured บ'pictureBoxProfileImage.ภาพ=เรื่องนี้croppedPicture;'บรรทัด.

ระบบNullReferenceException:"อ้างอิงถึงวัตถุงไม่ถูกตั้งค่าให้เป็นตัวอย่างของวัตถุชิ้นหนึ่ง"

ฉันพยายามผ่านไปทั้งสองภาพบิตแมพและภาพตัวแปรที่ผลลัพธ์คือคล้ายกันในทั้งสองสถานการณ์. ที่เขาแนะนำให้ผูกผ้ากันเปื้อนจะเป็น appraciated.

โอ้ย...ยเหนื่อยจังเลย Filip

c# crop winforms
2021-11-13 13:02:55
1

คำตอบที่ดีที่สุด

0

ฉันจัดใหม่ของบางอย่าง,ตอนนี้ทั้งหมดถูกทำในหนึ่งเป็นแบบนี้ ที่ cropped ภาพลักษณ์มันคือแทนที่ดั้งเดิมเลยอ่ะโพสหนึ่ง,นั่นคือการโพสผ่านทางด้านล่างนี้วิธีการ:

    private void button_browse_Click(object sender, EventArgs e)
    {
        // select and display image in the picturebox
        OpenFileDialog opf = new OpenFileDialog();
        opf.Filter = "Select Image(*.jpg;*.png;*.gif)|*.jpg;*.png;*.gif";
        

        if(opf.ShowDialog() == DialogResult.OK)
        {
            pictureBoxProfileImage.Image = Image.FromFile(opf.FileName);
            setImage(pictureBoxProfileImage.Image);
        }
    }

ปัญหาก็คือเมื่อมีการบันทึกการภาพในการพยายามลงทะเบียนโดยใช้ด้านล่างฟังก์ชัน:

pictureBoxProfileImage.Image.Save(picture, pictureBoxProfileImage.Image.RawFormat);

ภาพคือโพรโทคอล aimcomment แม้ว่าการเหมาะสมกแสดง ฉันควรจะแทนที่ภาพต้นฉบับสำหรับ(การจะเขียนทับหรือไม่)ว่าทางใดก็ทางหนึ่?

2021-11-13 18:55:35

มีความคิดของวิธีที่จะประสบความสำเร็จในส่วมัน@Steeeve?
Filip

ในภาษาอื่นๆ

หน้านี้อยู่ในภาษาอื่นๆ

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

ดังอยู่ในนี้หมวดหมู่

ดังคำถามอยู่ในนี้หมวดหมู่