画像を文字列に保存し、開くと常に300x150になります
画像が切り捨てられるのはなぜですか?
300x150はどこから来たのですか?
コードはあなたが見るものです。たった2つのボタン。
1つ目は画像を「png」で保存し、もう1つは「png」から画像を読み取ります
                    Button save = new Button("copy");
                    save.addClickHandler(new ClickHandler() {
                        @Override
                        public void onClick(ClickEvent event) {
                            ImageElement imageElement = ImageElement.as(image.getElement());
                            Canvas canvasTmp = Canvas.createIfSupported();
                            Context2d context = canvasTmp.getContext2d();
                            context.drawImage(imageElement, 0.0, 0.0, imageElement.getWidth(), imageElement.getHeight());
                            png = canvasTmp.toDataUrl("image/png");
                        }
                    });
                    Button open = new Button("open");
                    open.addClickHandler(new ClickHandler() {
                        @Override
                        public void onClick(ClickEvent event) {
                            final Image image = new Image(png);
                            vp.add(image);
                            image.addLoadHandler(new LoadHandler() {
                                @Override
                                public void onLoad(LoadEvent event) 
                                {
                                    Window.alert("ok");
                                }
                            });
                            image.addErrorHandler(new ErrorHandler() {
                                @Override
                                public void onError(ErrorEvent event) {
                                    Window.alert("error");
                                }
                            } );
                        }
                    });