@Override public void beforeUpdate(MBFImage frame) { if (transform != null) { MBFImage bgCopy = mbfImage.clone(); MBFProjectionProcessor proj = new MBFProjectionProcessor(); proj.setMatrix(transform); proj.accumulate(frame); proj.performProjection(0, 0, bgCopy); panel.setImage(bimg = ImageUtilities.createBufferedImageForDisplay(bgCopy, bimg)); } else panel.setImage(bimg = ImageUtilities.createBufferedImageForDisplay(frame, bimg)); }
@Override public Component getComponent(int width, int height) throws IOException { if (this.pictureSlide == null) { this.mbfImage = new MBFImage(width, height, 3); panel = (ImageComponent) new PictureSlide(mbfImage).getComponent(width, height); } else { panel = (ImageComponent) pictureSlide.getComponent(width, height); this.mbfImage = pictureSlide.mbfImage.clone(); } panel.setSize(width, height); panel.setPreferredSize(new Dimension(width, height)); video = new XuggleVideo(url, true); display = VideoDisplay.createOffscreenVideoDisplay(video); display.setStopOnVideoEnd(false); display.addVideoListener(this); return panel; }