예제 #1
0
    //AUX. FCN.
    //    public void saveMaskZone(EraserMask.MaskedZone mz,BinaryWriter buf,bool isGomme)
    //    {
    //        buf.Write(mz.m_pixels.Count);
    //        
    //        if(isGomme)
    //        {
    //            buf.Write(mz.m_images.Length);
    //            foreach(bool b in mz.m_images)
    //            {
    //                buf.Write(b);
    //            }
    //            
    //            foreach(MaskPix mp in mz.m_pixels)
    //            {
    //                buf.Write(mp.m_x);
    //                buf.Write(mp.m_y);
    //                buf.Write(mp.m_alpha);
    //            }
    //        }
    //        else
    //        {
    //            foreach(MaskPixRGB mp in mz.m_pixels)
    //            {
    //                buf.Write(mp.m_x);
    //                buf.Write(mp.m_y);
    //                buf.Write(mp.m_r);
    //                buf.Write(mp.m_g);
    //                buf.Write(mp.m_b);
    //                buf.Write(mp.m_alpha);
    //            }
    //        }
    //    }
    public void LoadMask(BinaryReader buf,bool isGomme)
    {
        bool[] images;
        List<MaskPix> pixs = new List<MaskPix>();

        int pixCount = buf.ReadInt32();

        if(isGomme)
        {
            int imgCount = buf.ReadInt32();
            images = new bool[imgCount];

            for(int i=0;i<imgCount;i++)
            {
                images[i] = buf.ReadBoolean();
            }

            for(int p=0;p<pixCount;p++)
            {
                MaskPix mp = new MaskPix(buf.ReadInt32(),buf.ReadInt32(),buf.ReadSingle());
                pixs.Add(mp);
            }

        }
        else
        {
            images = null;
            for(int p=0;p<pixCount;p++)
            {
                MaskPixRGB mp = new MaskPixRGB(buf.ReadInt32(),buf.ReadInt32(),
                    buf.ReadSingle(),buf.ReadSingle(),buf.ReadSingle(),buf.ReadSingle());
                pixs.Add(mp);
            }
        }

        //		EraserMask.MaskedZone mz = new EraserMask.MaskedZone(pixs,images);
        //		return mz;
    }
예제 #2
0
 public MaskPixRGB(MaskPixRGB model)
     : this(model.m_x, model.m_y,
                                            model.m_r, model.m_g, model.m_b, model.m_alpha)
 {
 }