コード例 #1
0
ファイル: Form1.cs プロジェクト: TheProjecter/volumehistogram
        // ====================================================================
        /// //////////////////////////////////////////////////////////////////////////////////////
        /// // Adjust image color
        // ====================================================================
        // Description:	Adjust the full size original image to the amount of
        //                color shift desired before save
        // Return:		void
        void AdjustOriginal()
        {
            this.Cursor = Cursors.WaitCursor;

            Color sClr;
            int R, G, B;
            StringPlus	sPlus = new StringPlus();
            int iRed, iGrn, iBlu;

            iRed = sPlus.AfterEqual(label_N_R.Text );
            iGrn = sPlus.AfterEqual(label_N_G.Text );
            iBlu = sPlus.AfterEqual(label_N_B.Text );

            if ( ( iRed == 0 ) && ( iGrn == 0 ) && ( iBlu == 0 ) )
                return;

            Bitmap img = (Bitmap)m_Img_O;

            for ( int y = 0; y < m_Img_O.Height; y ++ )
            {
                for ( int x = 0; x < m_Img_O.Width; x ++ )
                {
                    sClr = img.GetPixel ( x, y );

                    R = Requant ( sClr.R + iRed );
                    G = Requant ( sClr.G + iGrn );
                    B = Requant ( sClr.B + iBlu );

                    img.SetPixel ( x, y, Color.FromArgb (R, G, B));
                }
            }
            this.Cursor = Cursors.Default;
        }
コード例 #2
0
ファイル: Form1.cs プロジェクト: TheProjecter/volumehistogram
        // [in] amount of blue
        // ====================================================================
        // ====================================================================
        // Description:	change the text label that displays R, G, B values
        // Return:		void
        void AdjustLabel( Bitmap imgDst,	// [in] label owner to be adjusted
            int iRed,		// [in] amount of red
            int iGrn,		// [in] amount of green
            int iBlu)
        {
            StringPlus	sPlus = new StringPlus();

            if ( ((Image) imgDst) == m_Img_R )
            {
                label_R_R.Text = "R = " + Convert.ToString(AdjAmount + sPlus.AfterEqual(label_N_R.Text));
                label_R_G.Text = "G = " + Convert.ToString(sPlus.AfterEqual(label_N_G.Text));
                label_R_B.Text = "B = " + Convert.ToString(sPlus.AfterEqual(label_N_B.Text));
            }
            else if ( ((Image) imgDst) == m_Img_G )
            {
                label_G_R.Text = "R = " + Convert.ToString(sPlus.AfterEqual(label_N_R.Text));
                label_G_G.Text = "G = " + Convert.ToString(AdjAmount + sPlus.AfterEqual(label_N_G.Text));
                label_G_B.Text = "B = " + Convert.ToString(sPlus.AfterEqual(label_N_B.Text));
            }
            else if ( ((Image) imgDst) == m_Img_B )
            {
                label_B_R.Text = "R = " + Convert.ToString(sPlus.AfterEqual(label_N_R.Text));
                label_B_G.Text = "G = " + Convert.ToString(AdjAmount + sPlus.AfterEqual(label_N_G.Text));
                label_B_B.Text = "B = " + Convert.ToString(sPlus.AfterEqual(label_N_B.Text));
            }
            else if ( ((Image) imgDst) == m_Img_Y )
            {
                label_Y_R.Text = "R = " + Convert.ToString(sPlus.AfterEqual(label_N_R.Text));
                label_Y_G.Text = "G = " + Convert.ToString(sPlus.AfterEqual(label_N_G.Text));
                label_Y_B.Text = "B = " + Convert.ToString(-1*AdjAmount + sPlus.AfterEqual(label_N_B.Text));
            }
            else if ( ((Image) imgDst) == m_Img_M )
            {
                label_M_R.Text = "R = " + Convert.ToString(sPlus.AfterEqual(label_N_R.Text));
                label_M_G.Text = "G = " + Convert.ToString(-1*AdjAmount + sPlus.AfterEqual(label_N_G.Text));
                label_M_B.Text = "B = " + Convert.ToString(sPlus.AfterEqual(label_N_B.Text));
            }
            else if ( ((Image) imgDst) == m_Img_C )
            {
                label_C_R.Text = "R = " + Convert.ToString(-1*AdjAmount + sPlus.AfterEqual(label_N_R.Text));
                label_C_G.Text = "G = " + Convert.ToString(sPlus.AfterEqual(label_N_G.Text));
                label_C_B.Text = "B = " + Convert.ToString(sPlus.AfterEqual(label_N_B.Text));
            }
            else
            {
                label_N_R.Text = "R = " + Convert.ToString(iRed + sPlus.AfterEqual(label_N_R.Text));
                label_N_G.Text = "G = " + Convert.ToString(iGrn + sPlus.AfterEqual(label_N_G.Text));
                label_N_B.Text = "B = " + Convert.ToString(iBlu + sPlus.AfterEqual(label_N_B.Text));
            }
        }