GetStatic() public static method

public static GetStatic ( int index ) : Bitmap
index int
return System.Drawing.Bitmap
コード例 #1
0
ファイル: CompareItem.cs プロジェクト: mbnunes/UOFiddler-1
        private void OnIndexChangedSec(object sender, EventArgs e)
        {
            if ((listBoxSec.SelectedIndex == -1) || (listBoxSec.Items.Count < 1))
            {
                return;
            }

            int i   = int.Parse(listBoxSec.Items[listBoxSec.SelectedIndex].ToString());
            int pos = listBoxOrg.Items.IndexOf(i);

            if (pos >= 0)
            {
                listBoxOrg.SelectedIndex = pos;
            }
            if (SecondArt.IsValidStatic(i))
            {
                Bitmap bmp = SecondArt.GetStatic(i);
                if (bmp != null)
                {
                    pictureBoxSec.BackgroundImage = bmp;
                }
                else
                {
                    pictureBoxSec.BackgroundImage = null;
                }
            }
            else
            {
                pictureBoxSec.BackgroundImage = null;
            }
            listBoxSec.Invalidate();
        }
コード例 #2
0
ファイル: CompareItem.cs プロジェクト: mbnunes/UOFiddler-1
        private void OnClickCopy(object sender, EventArgs e)
        {
            if (listBoxSec.SelectedIndex == -1)
            {
                return;
            }
            int i = int.Parse(listBoxSec.Items[listBoxSec.SelectedIndex].ToString());

            if (!SecondArt.IsValidStatic(i))
            {
                return;
            }
            int staticlength = Art.GetMaxItemID() + 1;

            if (i >= staticlength)
            {
                return;
            }
            Bitmap copy = new Bitmap(SecondArt.GetStatic(i));

            Ultima.Art.ReplaceStatic(i, copy);
            FiddlerControls.Options.ChangedUltimaClass["Art"] = true;
            FiddlerControls.Events.FireItemChangeEvent(this, i);
            m_Compare[i] = true;
            listBoxOrg.BeginUpdate();
            bool done = false;

            for (int id = 0; id < staticlength; id++)
            {
                if (id > i)
                {
                    listBoxOrg.Items.Insert(id, i);
                    done = true;
                    break;
                }
                if (id == i)
                {
                    done = true;
                    break;
                }
            }
            if (!done)
            {
                listBoxOrg.Items.Add(i);
            }
            listBoxOrg.EndUpdate();
            listBoxOrg.Invalidate();
            listBoxSec.Invalidate();
            OnIndexChangedOrg(this, null);
        }
コード例 #3
0
        private bool Compare(int index)
        {
            if (m_Compare.ContainsKey(index))
            {
                return(m_Compare[index]);
            }
            Bitmap bitorg = Art.GetStatic(index);
            Bitmap bitsec = SecondArt.GetStatic(index);

            if ((bitorg == null) && (bitsec == null))
            {
                m_Compare[index] = true;
                return(true);
            }
            if (((bitorg == null) || (bitsec == null)) ||
                (bitorg.Size != bitsec.Size))
            {
                m_Compare[index] = false;
                return(false);
            }

            byte[] btImage1 = new byte[1];
            btImage1 = (byte[])ic.ConvertTo(bitorg, btImage1.GetType());
            byte[] btImage2 = new byte[1];
            btImage2 = (byte[])ic.ConvertTo(bitsec, btImage2.GetType());

            string hash1string = BitConverter.ToString(shaM.ComputeHash(btImage1));
            string hash2string = BitConverter.ToString(shaM.ComputeHash(btImage2));
            bool   res;

            if (hash1string != hash2string)
            {
                res = false;
            }
            else
            {
                res = true;
            }

            m_Compare[index] = res;
            return(res);
        }
コード例 #4
0
ファイル: CompareItem.cs プロジェクト: mbnunes/UOFiddler-1
        private bool Compare(int index)
        {
            if (m_Compare.ContainsKey(index))
            {
                return(m_Compare[index]);
            }
            Bitmap bitorg = Art.GetStatic(index);
            Bitmap bitsec = SecondArt.GetStatic(index);

            if ((bitorg == null) && (bitsec == null))
            {
                m_Compare[index] = true;
                return(true);
            }
            if (((bitorg == null) || (bitsec == null)) ||
                (bitorg.Size != bitsec.Size))
            {
                m_Compare[index] = false;
                return(false);
            }

            byte[] btImage1 = new byte[1];
            btImage1 = (byte[])ic.ConvertTo(bitorg, btImage1.GetType());
            byte[] btImage2 = new byte[1];
            btImage2 = (byte[])ic.ConvertTo(bitsec, btImage2.GetType());

            byte[] checksum1 = shaM.ComputeHash(btImage1);
            byte[] checksum2 = shaM.ComputeHash(btImage2);
            bool   res       = true;

            for (int j = 0; j < checksum1.Length; ++j)
            {
                if (checksum1[j] != checksum2[j])
                {
                    res = false;
                    break;
                }
            }
            m_Compare[index] = res;
            return(res);
        }
コード例 #5
0
ファイル: CompareItem.cs プロジェクト: mbnunes/UOFiddler-1
        private void ExportAsTiff(object sender, EventArgs e)
        {
            if (listBoxSec.SelectedIndex == -1)
            {
                return;
            }
            int i = int.Parse(listBoxSec.Items[listBoxSec.SelectedIndex].ToString());

            if (!SecondArt.IsValidStatic(i))
            {
                return;
            }
            string path     = FiddlerControls.Options.OutputPath;
            string FileName = Path.Combine(path, String.Format("Item(Sec) 0x{0:X}.tiff", i));

            SecondArt.GetStatic(i).Save(FileName, ImageFormat.Tiff);
            MessageBox.Show(
                String.Format("Item saved to {0}", FileName),
                "Saved",
                MessageBoxButtons.OK,
                MessageBoxIcon.Information,
                MessageBoxDefaultButton.Button1);
        }
コード例 #6
0
        private void ExportAsBmp(object sender, EventArgs e)
        {
            if (listBoxSec.SelectedIndex == -1)
            {
                return;
            }
            int i = int.Parse(listBoxSec.Items[listBoxSec.SelectedIndex].ToString());

            if (!SecondArt.IsValidStatic(i))
            {
                return;
            }
            string path     = AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
            string FileName = Path.Combine(path, String.Format("Item(Sec) 0x{0:X}.bmp", i));

            SecondArt.GetStatic(i).Save(FileName, ImageFormat.Bmp);
            MessageBox.Show(
                String.Format("Item saved to {0}", FileName),
                "Saved",
                MessageBoxButtons.OK,
                MessageBoxIcon.Information,
                MessageBoxDefaultButton.Button1);
        }