标签: resize

无法从交换链释放 Direct3D 缓冲区以调整大小

当我的窗口发生变化时,我正在努力调整缓冲区的大小。除了这一部分之外,该过程的每个部分都按预期工作。

// in MyGame.h - 
private:
    ComPtr<ID3D11RenderTargetView> gRenderTarget;
...


// handle resize method:
void MyGame::UpdateBackbufferSize(UINT pWidth, UINT pHeight) {

    /* 1. Clear render targets from device context */
    gDeviceContext->OMSetRenderTargets(0, 0, 0);

    /* 2. Release Rendering Target */
    gRenderTarget->Release(); // ! CANNOT ACCESS client.h private Release()

    /* 3. Resize buffer */
    gSwapchain->ResizeBuffers(
        0,
        pWidth,
        pHeight,
        DXGI_FORMAT_UNKNOWN,
        0
        );

    /* 4. Reset the buffer as target view */ 
    ComPtr<ID3D11Texture2D> backBuffer;
    gSwapchain->GetBuffer(0, __uuidof(ID3D11Texture2D), &backBuffer);
    gDevice->CreateRenderTargetView(backBuffer.Get(), nullptr,     &gRenderTarget);
    backBuffer.Get()->Release();

    /* 5. Set the new …
Run Code Online (Sandbox Code Playgroud)

resize directx-11 direct3d11 uwp

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

如何在 PyQt4 中使用 setRowHeight 和 resizeRowToContents 调整行大小?

我在表格视图中正确调整行大小时遇到​​一个小问题。我有一个垂直标题,没有水平标题。我试过:

self.Popup.table.setModel(notesTableModel(datainput))
self.Popup.table.horizontalHeader().setVisible(False)
self.Popup.table.verticalHeader().setFixedWidth(200)
for n in xrange(self.Popup.table.model().columnCount()):
    self.Popup.table.setColumnWidth(n,150)
Run Code Online (Sandbox Code Playgroud)

这工作得很好,但是当我尝试时:

 for n in xrange(self.Popup.table.model().rowCount()):
     self.Popup.table.setRowHeight(n,100)
Run Code Online (Sandbox Code Playgroud)

或者

for n in xrange(self.Popup.table.model().rowCount()):
     self.Popup.table.resizeRowToContents(n)
Run Code Online (Sandbox Code Playgroud)

即使文本超过单元格的长度,也不会调整行的大小。

如何强制行适合数据?

python resize qtableview pyqt4

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

隐藏小部件时无法调整窗口大小

我在这里找到了一些代码,其中显示了如何在隐藏小部件时调整窗口大小的示例,它对我有用。这是代码:

from PyQt4 import QtCore, QtGui
import sys

class MainWindow(QtGui.QWidget):
    def __init__(self):
        self.app = QtGui.QApplication(sys.argv)
        super(MainWindow, self).__init__()

        self.button = QtGui.QPushButton('Show/Hide')
        self.button.setCheckable(True)
        self.frame = QtGui.QFrame()
        self.frame.setFixedHeight(100)
        self.layout = layout = QtGui.QVBoxLayout()
        layout2 = QtGui.QVBoxLayout()
        self.setLayout(layout)
        self.frame.setLayout(layout2)

        layout.addWidget(self.button)
        layout.addWidget(self.frame)
        layout.addStretch(1)
        layout2.addWidget(QtGui.QLabel('Yoyoyo'))

        self.button.toggled.connect(self.clickAction)

    def startup(self):
        self.show()
        sys.exit(self.app.exec_())

    def clickAction(self):
        checked = self.button.isChecked()
        if checked:
            self.frame.show()
        else:
            self.frame.hide()
        QtCore.QTimer.singleShot(0, self.resizeMe)

    def resizeMe(self):
        self.resize(self.minimumSizeHint())
if __name__ == "__main__":
    myApp = MainWindow()
    myApp.startup()
Run Code Online (Sandbox Code Playgroud)

然后,我尝试通过分离 mainWindow 类和小部件类来修改它以匹配我现有的代码。这是执行此操作的代码。

from PySide import QtGui,QtCore
import sys



class MainWindow(QtGui.QMainWindow):
    def __init__(self): …
Run Code Online (Sandbox Code Playgroud)

python resize pyqt pyside

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

在 PyQt5 中隐藏小部件后如何设置较小的窗口大小?

我正在尝试实现一种功能,您可以通过单击按钮来隐藏或显示图形。但是,当图形再次隐藏时,对话框窗口的大小不会变回原来的大小。该self.resize()声明似乎被忽略了。我怎样才能做到这一点?然而,使用setFixedSize()作品时,我不希望尺寸被固定。我以为我可以使用某种方式“修复”它,setSizePolicy()但这没有帮助。

import sys
import matplotlib.pyplot as plt

from PyQt5.Qt import QSizePolicy
from PyQt5.QtWidgets import (
    QDialog, QApplication, QGridLayout, QWidget, QGroupBox, QPushButton
)
from matplotlib.backends.backend_qt5agg import \
    FigureCanvasQTAgg as FigureCanvas


class MainWindow(QDialog):
    def __init__(self):
        super().__init__()
        self.layout = QGridLayout()
        self.setLayout(self.layout)

        self.settings = QGroupBox('Settings:')
        self.settingsLayout = QGridLayout()
        self.settings.setLayout(self.settingsLayout)
        self.showFigureBtn = QPushButton('Show Figure')
        self.settingsLayout.addWidget(self.showFigureBtn)
        self.layout.addWidget(self.settings)

        self.figureWidget = QWidget()
        self.figureWidget.setMinimumSize(300, 300)
        self.figureLayout = QGridLayout(self.figureWidget)
        self.fig, self.ax = plt.subplots()
        self.canvas = FigureCanvas(self.fig)
        self.figureLayout.addWidget(self.canvas)
        self.figureWidget.setLayout(self.figureLayout)
        self.layout.addWidget(self.figureWidget)
        self.figureWidget.setVisible(False)

        self.showFigureBtn.clicked.connect(self.toggle_figure)

        self.min_size = (300, …
Run Code Online (Sandbox Code Playgroud)

python resize pyqt pyqt5

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

观察元素尺寸变化

这不是重复的!我对其他答案的结果不满意。如果您仍然认为它是重复的,请在您认为它是重复的原因之前发表评论!


我必须观察元素的大小变化。我尝试通过在offsetWidth属性上创建一个设置器来做到这一点,如下所示:

const div = document.querySelector("div");

div.addEventListener("resize", console.log);
div.addEventListener("click", () => console.log(div.offsetWidth));


let width = div.offsetWidth;
Object.defineProperty(div, "offsetWidth", {
    get: () => width,
  set: val => {
    width = val;
    div.dispatchEvent(new Event("resize"));
  }
});

document.querySelector("button").onclick = () => div.style.width = "200px";
Run Code Online (Sandbox Code Playgroud)
div {
  background-color: #f00;
  width: 300px;
  height: 300px;
}
Run Code Online (Sandbox Code Playgroud)
<div></div>
<button>
Set size
</button>
Run Code Online (Sandbox Code Playgroud)

单击红色框以记录尺寸。然后按下按钮。什么都没发生。如果再次单击该框,它仍会显示旧尺寸。为什么这不起作用?

html javascript resize offsetwidth

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

OpenCV resize() 中的 INTER_LINEAR 插值如何工作?

我正在弄清楚当我们设置fx=2和时,OpenCV resize() 函数如何计算线性插值fy=1。我写了以下最小工作示例,

import cv2
import numpy as np

pattern_img = np.zeros((6, 6), np.uint8)
pattern_img[:, 0::2] = 255
patteen_img_x2 = cv2.resize(pattern_img, None, fx=2, fy=1, interpolation=cv2.INTER_LINEAR)
Run Code Online (Sandbox Code Playgroud)

如果我们看pattern_img和的第一行pattern_img_x2,我们会得到,

pattern_img[0, :]
> array([255,   0, 255,   0, 255,   0], dtype=uint8)
pattern_img_x2[0, :]
> array([[255, 191,  64,  64, 191, 191,  64,  64, 191, 191,  64,   0]], dtype=uint8)
Run Code Online (Sandbox Code Playgroud)

我不知道数字 191 和 64 是如何计算的。我知道它实现了bilinear算法,但在本例中我们设置了fy=1,所以它应该是沿 x 轴的简单线性插值。但我不知道如何resize()计算这些插值数字。有人可以帮助我理解背后的算法吗?

interpolation opencv resize

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

ResizeObserver 仅在 Web 组件添加到 DOM 时触发,而不是在调整大小时触发

我已经创建了一个 Web 组件,并尝试将 a 添加ResizeObserver到该元素。

\n

ResizeObserver添加后,connectedCallback它似乎只在元素添加到 DOM 时触发一次,但在元素调整大小时不会再次触发。

\n

我希望ResizeObserver当组件被其父元素强制调整大小时,将被触发。我已经检查并观察了开发人员工具中的元素大小,它确实调整了大小。

\n

我还使用标准 HTML 元素(id:#foo)测试了相同的代码,并且回调有效。所以我只能假设问题与 Shadow DOM 有关。

\n

规范说:

\n
    \n
  1. 当观察元素被插入/从 DOM 中删除时,观察将会触发
  2. \n
  3. 当观看的元素显示设置为无时,观察将触发。
  4. \n
  5. 对于未替换的内联元素,不会触发观察。
  6. \n
  7. CSS 转换不会触发观察。
  8. \n
  9. 如果正在渲染 Element,并且 Element\xe2\x80\x99s 大小不为 0,0,则观察开始时将触发观察。
  10. \n
\n

我可以确认第一点发生了。

\n

我预计第五点应该会发生,但它从来没有发生过。如果检查元素,它的大小不是 0,0 并且会随页面调整大小。

\n

我已经浏览了 Web 组件的 MDN 文档和ResizeObserver许多其他网站,据我所知,我的一切都是正确的。

\n

这是代码的 JSFiddle:\n https://jsfiddle.net/h15e48fx/1/

\n

javascript resize callback web-component resize-observer

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

如何使用 skimage 在 python 中调整图像大小?

我正在处理 3D CT 图像,并尝试将二进制分割掩码从 (564,359,359) 调整为 (128,128,128),如下所示:

from skimage.transform import resize
mask_resized= resize(binary_mask, (128, 128, 128), order=0)
Run Code Online (Sandbox Code Playgroud)

调整大小之前的二进制掩码如下所示:

在此输入图像描述

生成的输出不是二进制的(产生 0 和 1 之间的一系列值),并且输出失真如下:

在此输入图像描述

我尝试过image_resized_seg = np.rint(image_resized_seg),但这会为包含分割蒙版的某些切片生成全黑图像。

我也尝试了以下方法,它也给出了扭曲的图像,并且输出中缺少一些包含掩模的切片:

from scipy import ndimage

def resize_volume_mask(img):
    """Resize across z-axis"""
    # Set the desired depth
    desired_depth = 128 
    desired_width = 128 
    desired_height = 128 
    # Get current depth
    current_depth = img.shape[0] #-1
    current_width = img.shape[1] #0
    current_height = img.shape[2] #1
    # Compute depth factor
    depth = current_depth / desired_depth
    width = current_width …
Run Code Online (Sandbox Code Playgroud)

python 3d resize numpy scikit-image

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

iframe在某些浏览器大小上向左移动1个像素

我有代码,抱歉,我现在没有确切的代码.但它有效.

<iframe src="..." borderframe="0" scrolling="no" width=728px" height="90px"></iframe>
Run Code Online (Sandbox Code Playgroud)

目标是一个包含横幅代码的html文件.一切都很好.但是当我调整浏览器大小或进行最大化时.内容向左移动1个像素.所以横幅显示缺少第一个垂直1px线.并且只能看到727px.

有人有想法吗?

谢谢.

html iframe resize

0
推荐指数
1
解决办法
1778
查看次数

(Java)出现/消失JPanel中的JLabel仅在调整大小时消失

我在Java工作,我在JFrame中有一个JPanel.在那个JPanel中,除其他外,我有一个JLabel,我想让它出现并随意消失.我已经尝试将可见性设置为true/false,在JFrame和JPanel中添加和删除它,并且,在网上查看后,我尝试了验证()和无效地重新生成()无限广告.在这里可以做些什么来解决这个问题?

java resize jpanel jframe repaint

0
推荐指数
1
解决办法
8745
查看次数