예제 #1
0
        private void InitializeProperties()
        {
            ArrayImage = new ReactiveProperty <WriteableBitmap>(
                new WriteableBitmap(255, 1, 96.0, 96.0, PixelFormats.Gray8, null)
                );

            var arrayEffect = new Effects.ArrayEffect();

            SetArrayData(arrayEffect, ArrayTypes.LeftToRight);
            ArrayEffect       = new ReactiveProperty <Effects.ArrayEffect>(arrayEffect);
            SelectedArrayType = new ReactiveProperty <ArrayTypes>(ArrayTypes.LeftToRight);
            SelectedArrayType.Subscribe(v => SetArrayData(ArrayEffect.Value, v));
        }
예제 #2
0
        private void SetArrayData(Effects.ArrayEffect effect, ArrayTypes type)
        {
            var data = new WriteableBitmap(255, 1, 96.0, 96.0, PixelFormats.Gray8, null);

            data.WritePixels(
                new System.Windows.Int32Rect(0, 0, data.PixelWidth, data.PixelHeight),
                arrayPatterns[(int)type], data.PixelWidth * data.Format.BitsPerPixel, 0
                );
            effect.Array = new ImageBrush(data);

            ArrayImage.Value.WritePixels(
                new System.Windows.Int32Rect(0, 0, data.PixelWidth, data.PixelHeight),
                arrayPatterns[(int)type], data.PixelWidth * data.Format.BitsPerPixel, 0
                );
        }