小编ccp*_*zza的帖子

Javascript:如何从页面获取图像作为字节(无需重新下载)

给定一个带有图像的现有浏览器页面,有没有办法使用 Javascript 从元素中获取字节<img>

我没有看到任何HTMLImageElement允许从图像元素获取字节数组的方法。

我尝试了以下方法,但这返回一个空字节数组。

var img = document.querySelector('.my_image');
var body = document.querySelector('body');
var canvas = document.createElement('canvas');
canvas.height = img.height;
canvas.width = img.width;
var context = canvas.getContext('2d');
context.drawImage(img, 0, 0);
body.appendChild(canvas);
var imageBytes = context.getImageData(img.width, img.height, 1, 1).data;
console.log(imageBytes);
Run Code Online (Sandbox Code Playgroud)

javascript arrays image

13
推荐指数
2
解决办法
1万
查看次数

处理PagerTitleStrip单击兼容的基于片段的ViewPager

我有一个兼容的ViewPager与一个嵌入的PagerTitleStrip元素,它工作正常,但点击PagerTitleStrip不会按预期切换到相应的视图.我查看了文档但是小部件没有任何内置方法将onClickListeners附加到PagerTitleStrip对象.这似乎有点奇怪,因为这可能是大多数人所期望的.

所以问题是我如何使标题条可点击?

我也试图弄清楚是否有一种方法可以在选定的标题条下显示粗的下划线而不添加TabHost,如果可能的话.

这是代码:

主要布局view_pager.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <android.support.v4.view.ViewPager
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/my_view_pager"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

        <android.support.v4.view.PagerTitleStrip
            android:id="@+id/pager_title_strip"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="top"
            android:background="#ccc"
            android:textColor="#fff" />
    </android.support.v4.view.ViewPager>

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

进入ViewPager的两个片段布局:

fragment_connect.xml(第二个是相同的,所以不包括在内)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/text_view_connect"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="connect"
        android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

主要活动类StandardViewPagerActivity.java:

package com.example.standardviewpager;

import java.util.List;
import java.util.Vector;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.view.PagerTitleStrip;
import android.support.v4.view.ViewPager;
import android.view.Menu;

public class StandardViewPagerActivity extends FragmentActivity {

    private …
Run Code Online (Sandbox Code Playgroud)

android android-viewpager android-fragmentactivity

11
推荐指数
2
解决办法
6280
查看次数

Mat-table 将 mat-sort 重置为初始状态

我有一个 mat-table,其中有几个可排序的列。我可以使用 mat-table 上的 matSortActive 和 matSortDirection 属性设置表格的初始排序。使用此功能,可以正确显示标题中指示排序方向的箭头。

现在,当我尝试使用按钮将排序重置为初始状态时,排序已正确重置。但是,标题中的箭头不会更新。所以箭头仍然显示在上一个排序列的标题中。如何让箭头再次显示在初始状态?

我的表格和 HTML 中的重置按钮:

<button mat-button mat-raised-button (click)="removeFilters()" class="reset-button">Verwijder filters</button>

<mat-table #table [dataSource]="dataSource" matSort (matSortChange)="sortData($event)" matSortActive="comp_name_sort" matSortDirection="asc">
  <ng-container matColumnDef="assetName">
    <mat-header-cell *matHeaderCellDef mat-sort-header="comp_name_sort">Systeem</mat-header-cell>
    <mat-cell *matCellDef="let asset"> {{asset.comp_name}} </mat-cell>
  </ng-container>

  <ng-container matColumnDef="softwareName">
    <mat-header-cell *matHeaderCellDef mat-sort-header="soft_name_sort">Software</mat-header-cell>
    <mat-cell *matCellDef="let asset"> {{asset.soft_name}} </mat-cell>
  </ng-container>

  <mat-header-row *matHeaderRowDef="displayedColumns"></mat-header-row>
  <mat-row *matRowDef="let row; columns: displayedColumns;"></mat-row>
</mat-table>
Run Code Online (Sandbox Code Playgroud)

我的 ts 文件:

  export class AssetsComponent implements OnInit {

  @ViewChild(MatSort) sort: MatSort;

  assets: Asset[];
  displayedColumns = ['assetName', 'softwareName',];
  dataSource = new MatTableDataSource<Asset>(this.assets);

  constructor( private assetsService: …
Run Code Online (Sandbox Code Playgroud)

angular-material angular5

10
推荐指数
2
解决办法
1万
查看次数

Android:如何在 ViewPager2 中拦截触摸事件

当触摸事件来自嵌套视图(例如 Horizo​​ntalScrollView 等)时,如何防止在androidx ViewPager2 中滑动?

我希望通过覆盖可以实现这一点,ViewPager2.onInterceptTouchEvent()但是由于 ViewPager2final不能被子类化。

现有的解决方案(见下表)处理与旧ViewPager可以被继承。

正如我尝试过的其中一个答案中所建议的那样:

    private ViewPager2 viewPager2;

    ...
    HorizontalScrollView nestedScrollView = pagerView.findViewById(R.id.scrollview);

    nestedScrollView.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            viewPager2.requestDisallowInterceptTouchEvent(true);
            return false;
        }
    });

// nestedScrollView - the HorizontalScrollView inside a ViewPager2 item
// viewPager2 - the ViewPager2 instance
Run Code Online (Sandbox Code Playgroud)

但这似乎没有任何效果。

ViewPager2 具有从 ViewGroup 继承的onInterceptTouchEvent()但我没有看到在最终类上覆盖它的方法。

重新实现整个 ViewPager2 似乎不是一个明智的解决方案——原始类有 1607 行长,而且它使用的类不是由包导出的。

我看过的其他类似问题:

android ontouchlistener swipe-gesture android-viewpager2

10
推荐指数
0
解决办法
1752
查看次数

标记不是函数

我正在尝试使用 React 和标记的节点包构建一个 Markdown 预览器。当我尝试解析 DOM 上的任何降价时,一切正常。当我这样做时,我收到一条错误消息:Uncaught TypeError:标记不是函数。

我已经在文件顶部标记了声明,如下所示:

import { useState } from "react";
import "./App.css";
const marked = require("marked");

Run Code Online (Sandbox Code Playgroud)

我也尝试像这样声明标记:

import { useState } from "react";
import "./App.css";
const { marked } = require("marked");
Run Code Online (Sandbox Code Playgroud)

但这似乎没有什么区别。

这是我的代码配置:

            <div className="preview-label">Preview</div>
            <div
              id="preview"
              className="preview-area"
              dangerouslySetInnerHTML={{
                __html: marked(mrkdwn),
              }}
            ></div>
          </div>
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

            <div className="preview-label">Preview</div>
            <div
              id="preview"
              className="preview-area"
              dangerouslySetInnerHTML={{
                __html: marked.parse(mrkdwn),
              }}
            ></div>
          </div>
Run Code Online (Sandbox Code Playgroud)
            <div className="preview-label">Preview</div>
            <div
              id="preview"
              className="preview-area"
              dangerouslySetInnerHTML={{
                __html: marked.parser(mrkdwn),
              }}
            ></div>
          </div>
Run Code Online (Sandbox Code Playgroud)

            <div className="preview-label">Preview</div>
            <div
              id="preview"
              className="preview-area"
              dangerouslySetInnerHTML={{
                __html: …
Run Code Online (Sandbox Code Playgroud)

javascript javascript-marked react-hooks

10
推荐指数
1
解决办法
6624
查看次数

在 Linux 系统上使用 Apache FOP JDK 11 来自 sun.awt.FontConfiguration.getVersion 的 NPE

我正在使用 Apache FOP(v 2.3 和测试 v 2.5)。我最近从 Oracle JDK 8 升级到 Oracle JDK 11。我在 Oracle Linux(RedHat 衍生版本)上使用 JBoss EAP 7.2。使用 JDK 8 时一切正常,但只是升级到 JDK 11 就导致我的 XML -> PDF 和 XML -> PNG 的 FOP XSLT 创建以下堆栈跟踪(FOP 版本并不重要,因为会产生相同的错误)。

Caused by: java.lang.NullPointerException
        at java.desktop/sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1262)
        at java.desktop/sun.awt.FontConfiguration.readFontConfigFile(FontConfiguration.java:225)
        at java.desktop/sun.awt.FontConfiguration.init(FontConfiguration.java:107)
        at java.desktop/sun.awt.X11FontManager.createFontConfiguration(X11FontManager.java:719)
Run Code Online (Sandbox Code Playgroud)

我的字体是 Google/RedHat 的 LiberationSans,我已将它们放在文件系统上并在名为 LiberationSans.xconf 的文件中进行配置。我已确保这些文件是全局可读的 (775),并且由运行 JBoss 实例的用户拥有。

Caused by: java.lang.NullPointerException
        at java.desktop/sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1262)
        at java.desktop/sun.awt.FontConfiguration.readFontConfigFile(FontConfiguration.java:225)
        at java.desktop/sun.awt.FontConfiguration.init(FontConfiguration.java:107)
        at java.desktop/sun.awt.X11FontManager.createFontConfiguration(X11FontManager.java:719)
Run Code Online (Sandbox Code Playgroud)

在我的本地 Windows 计算机上一切正常,但我的部署是通过 Eclipse/JBoss 插件进行的,因此可能存在一些问题。Linux 服务器上的部署是通过 jboss-cli 进行的。

如果我可以提供任何其他可能有帮助的信息,请告诉我。如果我们必须放弃 FOP,我希望这是最后的手段。

apache-fop jboss-eap-7 java-11 oraclelinux

9
推荐指数
1
解决办法
1万
查看次数

Chrome 给出了 manifest.json 的 401 错误

我有一个 Flutter UI(Web 通道)应用程序,它部署为捆绑的 Spring-boot 应用程序(构建文件放入 Spring-boot 项目中的 main/resources 文件夹中)。我面临的问题是,每次在 Chrome 中加载应用程序并登录时,我都会看到指向 manifest.json 的 401 错误。当我使用 Android Studio 在本地测试我的 UI 时,我没有遇到同样的问题。此设置使用在 Docker 中运行的 spring-boot 应用程序的修改版本。

我的manifest.json 文件是:

{
  "name": "ccccc",
  "short_name": "ccccc",
  "start_url": "/#/",
  "display": "standalone",
  "background_color": "#0175C2",
  "theme_color": "#0175C2",
  "description": "basicapp",
  "orientation": "landscape-primary",
  "prefer_related_applications": false,
  "icons": [
    {
      "src": "icons/cd-16.png",
      "sizes": "16x16",
      "type": "image/png"
    },
    {
      "src": "icons/cd-32png",
      "sizes": "32x32",
      "type": "image/png"
    },
    {
      "src": "icons/cd-64.png",
      "sizes": "64x64",
      "type": "image/png"
    },
    {
      "src": "icons/cd-256.png",
      "sizes": "256x256",
      "type": "image/png"
    } …
Run Code Online (Sandbox Code Playgroud)

google-chrome spring-boot flutter progressive-web-apps manifest.json

9
推荐指数
1
解决办法
9384
查看次数

艾美特的新线路

我是 Emmet 的新手(18 小时),非常棒。我广泛查看,但找不到在未自动添加时添加新行的方法。

.container>.row>.col-sm-3>ul>li#abc$*5
Run Code Online (Sandbox Code Playgroud)

给出

<div class="container">
    <div class="row">
        <div class="col-sm-3">
            <ul>
                <li id="abc1"></li>
                <li id="abc2"></li>
                <li id="abc3"></li>
                <li id="abc4"></li>
                <li id="abc5"></li>
            </ul>
        </div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

在 PhpStorm 或 Sublime 等中非常容易工作。但是

.containter>.row>.col-sm-offset-4>form>(input:text)*5+input:email+input:tel
Run Code Online (Sandbox Code Playgroud)

给一个非常混乱的

<div class="containter">
    <div class="row">
        <div class="col-sm-offset-4">
            <form action=""><input type="text" name="" id=""><input type="text" name="" id=""><input type="text"
                                                                                                          name=""
                                                                                                          id=""><input
                    type="text" name="" id=""><input type="text" name="" id=""><input type="email" name=""
                                                                                          id=""><input type="tel"
                                                                                                        name="" id="">
            </form>
        </div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

好吧,通过选择来进行排序是相当简单的,><但是很愚蠢。

我尝试/n在不同的地方插入但没有明显效果。

那么有没有办法强制换行呢?

html newline emmet

8
推荐指数
2
解决办法
7163
查看次数

Pytest:如何解决测试文件夹中缺少 __init__.py 的问题?

我将所有 pytest 文件存储tests在项目根目录下的子目录中。__init__.py该目录或以上目录中没有pytest tests/test_a.py并按预期工作。我也可以pytest test_a.py直接从tests文件夹中运行。

|--<project_root>
+---[tests]
    test_a.py
    base.py
    config.py
    conftest.py
Run Code Online (Sandbox Code Playgroud)

中的测试类test_a.py继承自base.py. 现在的问题是,由于缺少__init__.pyIDE 工具,因此无法解决导入问题。添加__init__.pytestsIDE 中解决了所有导入错误,但测试将不再运行,pytest test_a.py因为 py.test 无法导入conftest.py

在我的conftest.py我有以下进口:

from config import HOST_URL_DEFAULT, USER, PASSWORD
Run Code Online (Sandbox Code Playgroud)

这导致:

ModuleNotFoundError: No module named 'config'
ERROR: could not load /project_root/tests/conftest.py
Run Code Online (Sandbox Code Playgroud)

有没有办法解决这个问题,这样两个 IDE 工具都可以工作 pytest继续工作?如果可能,我想避免使用点导入。

更新:阅读此答案后,我想我终于开始更多地了解 python 导入的工作原理了。

python pytest

7
推荐指数
1
解决办法
4801
查看次数

使用与Jupyter Notebook相同的样式将pandas数据帧渲染为HTML

我想以与Jupyter Notebook相同的方式将pandas数据帧渲染为HTML,即所有的铃声和​​wistles都具有漂亮的样式,列高亮和点击列排序.

在此输入图像描述

pandas.to_html只输出一个纯HTML表格,需要手动样式等.

jupyter使用的数据帧渲染代码是否可用作可在任何Web应用程序中使用的独立模块?

此外,诸如js/css文件之类的资产是否与jupyter分离,以便它们可以轻松地重用?

python ipython dataframe pandas jupyter-notebook

7
推荐指数
2
解决办法
1191
查看次数