protected override void OnCreate(Bundle savedInstanceState)
        {
            Log.WriteLine(LogPriority.Debug, TAG, "OnCreate - Enter");
            base.OnCreate(savedInstanceState);
            AppContextLiveData.Instance.SetLocale(this);

            if (AppContextLiveData.Instance.IsPortrait)
            {
                SetContentView(Resource.Layout.PhotoShowActivityPortrait);
            }
            else
            {
                SetContentView(Resource.Layout.PhotoShowActivityLandscape);
            }

            long id = Intent.GetLongExtra("ID", -1);

            _photodata = Database.GetPhotoDataItem(id);

            InitializeAppContext(_photodata);
            InitializeBaseActivityUI();

            FindViewById <ImageButton>(Resource.Id.menuButton).SetOnClickListener(this);

            _displayOverlappedButton = FindViewById <ImageButton>(Resource.Id.buttonDisplayOverlapped);
            _displayOverlappedButton.SetOnClickListener(this);

            _saveToDeviceButton = FindViewById <ImageButton>(Resource.Id.buttonSaveToDevice);
            _saveToDeviceButton.SetOnClickListener(this);

            _shareButton = FindViewById <ImageButton>(Resource.Id.buttonShare);
            _shareButton.SetOnClickListener(this);

            _tiltCorrectorButton = FindViewById <ImageButton>(Resource.Id.buttonTiltCorrector);
            _tiltCorrectorButton.SetOnClickListener(this);

            _cropButton = FindViewById <ImageButton>(Resource.Id.buttonCropImage);
            _cropButton.SetOnClickListener(this);

            _confirmCloseButtons            = FindViewById <LinearLayout>(Resource.Id.confirmCloseButtons);
            _confirmCloseButtons.Visibility = ViewStates.Gone;
            FindViewById <ImageButton>(Resource.Id.confirmButton).SetOnClickListener(this);
            FindViewById <ImageButton>(Resource.Id.closeButton).SetOnClickListener(this);

            _activityControlBar    = FindViewById <LinearLayout>(Resource.Id.PhotoShowActivityControlBar);
            _mainActivityStatusBar = FindViewById <LinearLayout>(Resource.Id.mainActivityStatusBar);
            photoView = FindViewById <ScaleImageView>(Resource.Id.photoView);

            HideControls();

            var pictureSize = new System.Drawing.Size(GetPictureWidth(), GetPictureHeight());

            _compassView.Initialize(Context, false, pictureSize);

            var delayedAction = new System.Threading.Timer(o => { LoadImageAndProfile(); },
                                                           null, TimeSpan.FromSeconds(0.1), TimeSpan.FromMilliseconds(-1));

            Start();
            Log.WriteLine(LogPriority.Debug, TAG, "OnCreate - Exit");
        }
Beispiel #2
0
        protected async override void OnElementChanged(ElementChangedEventArgs <CachedImage> e)
        {
            base.OnElementChanged(e);

            if (e.NewElement != null)
            {
                _zoomImage = (ZoomImage)e.NewElement;

                // create the scale image and set it as the native control so it's available
                _scaleImage           = new ScaleImageView(Context, null);
                _scaleImage.ZoomImage = _zoomImage;
                SetNativeControl(_scaleImage);
                await LoadImage();
            }
        }
        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            // Use this to return your custom view for this Fragment
            // return inflater.Inflate(Resource.Layout.YourFragment, container, false);

            var view = inflater.Inflate(Resource.Layout.RemoteDesktopLayout, null);

            _remoteDesktopCommand = ConnectionManager.Current.CurrentController.Commander.GetCommand <RemoteDesktopCommand>();
            _remoteDesktopCommand.ScreenshotReceived += Command_ScreenshotReceived;
            _image = view.FindViewById <ScaleImageView> (Resource.Id.imageViewMap);
            _image.SetScaleType(ImageView.ScaleType.FitXy);
            if (_remoteDesktopCommand.CurrentImage != null)
            {
                _image.SetImageBitmap(_remoteDesktopCommand.CurrentImage);
            }

            return(view);
        }
Beispiel #4
0
        public Bitmap BitmapFitScreenSize(ScaleImageView scaleImageView, Bitmap bitmap, Color color)
        {
            DisplayMetrics displaymetrics = new DisplayMetrics();

            _activity.WindowManager.DefaultDisplay.GetMetrics(displaymetrics);

            var WidthPixels  = ((float)displaymetrics.WidthPixels);
            var HeightPixels = (float)displaymetrics.HeightPixels;
            var x            = ((int)(scaleImageView.MtransX / scaleImageView.Scale) * -1);
            var y            = ((int)(scaleImageView.MtransY / scaleImageView.Scale) * -1);
            var Width        = (int)(WidthPixels / scaleImageView.Scale);
            var Height       = (int)(HeightPixels / scaleImageView.Scale);

            Bitmap target = Bitmap.CreateBitmap(Width, Height, Bitmap.Config.Argb8888);

            Canvas canvas = new Canvas(target);
            Paint  paint  = new Paint();

            canvas.DrawColor(color);

            canvas.DrawBitmap(bitmap, 0, (int)((float)(target.Height / 2) - (float)(bitmap.Height / 2)), paint);

            return(target);
        }
Beispiel #5
0
        protected override void OnCreate(Android.OS.Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.ImagePreview);

            Geneticist.Splice(this);

            var helpRelaLayout = FindViewById <RelativeLayout>(Resource.Id.helpRelaLayout);

            helpRelaLayout.Click += (sender, e) =>
            {
                helpRelaLayout.Visibility = ViewStates.Gone;
            };
            _scaleImageView = FindViewById <ScaleImageView>(Resource.Id.scaleImageView);


            if (!string.IsNullOrEmpty(Constants.ImageBtmUri))
            {
                var options = new DisplayImageOptions.Builder()
                              .ShowImageOnLoading(Resource.Drawable.ic_stub)
                              .ShowImageForEmptyUri(Resource.Drawable.ic_empty)
                              .ShowImageOnFail(Resource.Drawable.ic_error)
                              .CacheInMemory(false)
                              .CacheOnDisk(false)
                              .BitmapConfig(Bitmap.Config.Rgb565)
                              .Build();

                ImageLoader.Instance.DisplayImage(
                    Constants.ImageBtmUri,
                    _scaleImageView,
                    options,
                    new ImageLoadingListener(
                        loadingStarted: delegate
                {
                    //spinner.Visibility = ViewStates.Visible;
                },
                        loadingComplete: delegate
                {
                    //spinner.Visibility = ViewStates.Gone;
                },
                        loadingFailed: (imageUri, _view, failReason) =>
                {
                    string message = null;
                    if (failReason.Type == FailReason.FailType.IoError)
                    {
                        message = "Input/Output error";
                    }
                    else if (failReason.Type == FailReason.FailType.DecodingError)
                    {
                        message = "Image can't be decoded";
                    }
                    else if (failReason.Type == FailReason.FailType.NetworkDenied)
                    {
                        message = "Downloads are denied";
                    }
                    else if (failReason.Type == FailReason.FailType.OutOfMemory)
                    {
                        message = "Out Of Memory error";
                    }
                    else
                    {
                        message = "Unknown error";
                    }

                    AlertDialog.Builder builder;
                    builder = new AlertDialog.Builder(this);
                    builder.SetTitle("Error CodeBloc №102/1");
                    builder.SetMessage("message");
                    builder.SetCancelable(false);
                    builder.SetPositiveButton("OK", delegate { Finish(); });
                    builder.Show();

                    //spinner.Visibility = ViewStates.Gone;
                }));
            }
            else
            {
                AlertDialog.Builder builder;
                builder = new AlertDialog.Builder(this);
                builder.SetTitle("Error CodeBlock №102/2");
                builder.SetMessage("File not support");
                builder.SetCancelable(false);
                builder.SetPositiveButton("OK", delegate { Finish(); });
                builder.Show();
            }
        }
Beispiel #6
0
 public ScaleImageViewGestureDetector(ScaleImageView imageView)
 {
     scaleImageView = imageView;
 }
Beispiel #7
0
 public Bitmap BitmapFitScreenSize(ScaleImageView scaleImageView, Bitmap bitmap)
 {
     return(BitmapFitScreenSize(scaleImageView, bitmap, Color.Black));
 }