我如何将图像从一个角度组件发送到另一个并显示它

我创建了一个带有 obervable 的服务,我尝试将 dataURL 从一个组件发送到另一个组件,然后将其显示为图像。

我想从中发送数据的组件的 html

<canvas id="patternFrame" width="600px" height="600px"></canvas> 
<ion-button color="medium" (click)='sendPattern()'>send</ion-button>

我要从中发送数据的组件的打字稿

import {StageColorService} from '../../services/stage-color.service';

  constructor(private stageColorService: StageColorService){}

 ngOnInit(){}

  sendPattern(){
    const canv =document.getElementById('patternFrame') as HTMLCanvasElement;
    this.stageColorService.sendStage(canv.toDataURL()); // use service to send image to color component
  };

我要将数据发送到的组件的 html 代码

<img src="" alt="Image" id="onlyImage" width="400" height="200">

我要向其发送数据的组件的打字稿代码

import {StageColorService} from '../../services/stage-color.service';

  constructor(private stageColorService: StageColorService) { }

  ngOnInit() {

    this.stageColorService.stage$
        .subscribe(
          image => {
            console.log('image subscription'+ image);
              document.getElementById('onlyImage').setAttribute('src',  image);
            });
  }

我的服务的打字稿代码

import { Injectable } from '@angular/core';
import {Subject} from 'rxjs';

@Injectable({
  providedIn: 'root'
})
export class StageColorService {

  private stageSource = new Subject<any>();
  stage$ = this.stageSource.asObservable();

  constructor() { }

  sendStage(st: any){
    this.stageSource.next(st);
  }
}
爱迪生

请避免这种情况 document.getElementById('onlyImage').setAttribute('src', image);

而是使用一个变量来显示。例如:

import {StageColorService} from '../../services/stage-color.service';

public imgSrc:string;

constructor(private stageColorService: StageColorService) { }

ngOnInit() {

this.stageColorService.stage$
    .subscribe(
      image => {
        console.log('image subscription'+ image);
          this.imgSrc = image
        });
}

并在 html 中使用

<img [src]="imgSrc" alt="Image" id="onlyImage" width="400" height="200" />

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将道具从一个组件发送到渲染之外的另一个组件?

以角度 2 将整个对象从一个组件发送到另一个组件

如何在角度2中单击按钮时将数据从一个组件发送到另一个组件

如何将 PDF 从一个 lambda 发送到另一个?

如何将参数从一个函数发送到另一个函数

如何将数据从一个ejs文件发送到另一个

如何将数据类对象从一个模块发送到另一个模块?

如何将数组从一个活动(意图)发送到另一个?

如何将 React hook 的 setter 发送到另一个组件

如何将消耗的API响应发送到另一个组件?

如何将缓冲图像作为 JSON 发送到另一个 API?

如何将一个 viewController 中的图像数据发送到另一个 viewController?

提交时:将数据从一个组件发送到另一个组件

如何在 Angular 中将数据从一个组件发送到另一个组件?

单击第一个片段上的按钮,如何将消息从一个片段发送到另一个片段?

如何将一个对象从一个对象发送到另一个对象?

无法将图像从一个活动发送到另一个活动

将Qpixmap从一个窗口发送到另一个窗口

将位图从一个活动发送到另一个错误

将结果从一个班级发送到另一个班级

如何将状态从子组件发送到React中的另一个组件

如何将数据从一个视图发送到另一个视图,它是品牌,模型等。这不是一种形式

如何使用Scenic将消息从一个场景发送到另一个场景?

如何使用JavaScript将数据从一个.window发送到另一个?

如何将表值发送到稍后在 React 中可见的另一个组件?

Django-如何将“ POST”信息从一个视图发送到另一个视图

Javascript ES6类:如何将事件从一个类发送到另一个

如何将触摸事件从一个应用程序发送到另一个应用程序

如何将args从一个python文件发送到另一个sys.argv