【问题标题】:Custom height and width of SVG image in angular4angular4中SVG图像的自定义高度和宽度
【发布时间】:2018-05-26 02:14:49
【问题描述】:

我正在访问一个 API,在清理图像字符串后,我在 json 对象中获取 svg 图像字符串

this.apiService.receiveImageAsNonJSON("http://localhost:8080/icreate/getViewImagesBySubCategory", subCatName).subscribe(viewImageDataSet => {
        this.masterImageList = viewImageDataSet;

        var masterImageListLength = this.masterImageList.length;          
        // Calculate number columns , number of rows is fixed at 7
        let colCount = Math.ceil(masterImageListLength / 7);

        for (var index = 0; index < masterImageListLength; index++) {
            // Sanitize image string
            this.masterImageList[index] = this.sanitizer.bypassSecurityTrustHtml(this.masterImageList[index] as string);            
        });

现在我使用 [outerHTML] 属性在 html 中显示图像。我得到了 svg 的实际大小,但我想要我的自定义大小。如何解决它。任何人请给光。提前谢谢你--Midde

这里我附上了屏幕截图,并在蓝色圆圈中标记了我想要自定义的高度和宽度。 Output Screen Shot

【问题讨论】:

    标签: javascript html angular svg


    【解决方案1】:

    它很丑,但你可以试试 NgStyle 指令 (https://angular.io/api/common/NgStyle)

    你能不能试试下面的代码:

    组件.ts

                sizeOuter():string{
                var resizeComment:number;
                resizeComment=window.innerWidth-45/10;
                return resizeComment + 'px';
            }
            heightOuter():string{
                var resizeComment:number;
                 resizeComment=window.innerHeight-45/10;
                return resizeComment + 'px';
            }
    html:       
    
    <div [ngStyle]="{'width': sizeOuter(),'height':heightOuter()}" [outerHTML]="image.thumbNailImage">i j</div> </div> 
    

    致以最诚挚的问候,

    【讨论】:

    • &lt;div *ngFor="let image of imageArr; let j = index" (click)="setAsPreview( i , j)" [class.searched-image-thumbnail-active]="image.selectStatus"&gt; &lt;div [outerHTML]="image.thumbNailImage"&gt;i j&lt;/div&gt; &lt;/div&gt; &lt;/div&gt;
    • 感谢您的回复,实际上&lt;div [outerHTML]="image.thumbNailImage"&gt;i j&lt;/div&gt; 部分正在打印我的输出,现在我想让输出表示具有自定义大小的 svg 图像。我也附上了屏幕截图
    • 你可以试试下面的代码: Component .ts sizeOuter():string{ var resizeComment:number; resizeComment=window.innerWidth-45/10;返回 resizeComment + 'px'; } heightOuter():string{ var resizeComment:number; resizeComment=window.innerHeight-45/10;返回 resizeComment + 'px'; } html:
      ij
  • 我以简单的方式找到了一个解决方案,因为我正在访问outerHTML,并且在此内容中有一个标签svg,我只是在css :host &gt;&gt;&gt; svg { height: 70px; width: 70px; } 中添加了一个样式,现在它可以按照我的要求工作。 :-)
  • 猜你喜欢
    • 2013-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-08
    • 2012-10-27
    • 1970-01-01
    • 2017-07-12
    • 2016-11-04
    相关资源
    最近更新 更多