我正在寻找一种方法来使 Tkinter Frames 在调整大小时表现得有点像这样:
from Tkinter import *
w = Tk()
w.aspect(1,1,1,1)
w.mainloop()
Run Code Online (Sandbox Code Playgroud)
所以我想要这里的代码:
import Tkinter as tk
from Tkconstants import *
r=tk.Tk()
content_frame=tk.Frame(r,borderwidth=5,relief=GROOVE)
content_frame.grid(row=0,column=0,sticky=(N,S,E,W))
tk.Label(content_frame,text='content').pack()
pad_frame=tk.Frame(r,borderwidth=5,relief=GROOVE)
pad_frame.grid(row=1,column=0,sticky=(N,S,E,W))
tk.Label(pad_frame,text='-pad-').pack()
r.rowconfigure(0, weight=1)
r.rowconfigure(1, weight=1)
r.columnconfigure(0, weight=1)
r.mainloop()
Run Code Online (Sandbox Code Playgroud)
它基本上创建了 2 个框架,一个应该包含一些内容(在我的应用程序中,这个框架包含一个可以调整大小的 mathplotlib 图)和一个仅用于填充。
要按照以下规则调整大小:
有任何想法吗?我已经阅读了一段时间的手册,似乎找不到合适的东西。
-丹尼尔
根据父div的宽度调整视频大小时,有很多解决方案可以保持宽高比.它们中的大多数取决于"填充顶部"和"填充底部"是基于宽度而不是高度计算的事实.
我正在尝试做类似的事情,但我想根据父div的高度调整视频大小.
要做到这一点,我需要创建一个不管高度如何都保持纵横比的div.这可能是一种蹩脚的方式,但我决定使用图像来做到这一点,因为我可以将图像的高度设置为100%的适当宽高比,并让高度排序.
我非常接近于完成这项工作.到目前为止,我已经能够使内部div完全按照我想要的方式执行,除了它不会在窗口调整大小上重绘.但是,如果我调整窗口大小然后重新加载,它就可以工作.有任何想法吗?
这是演示 (这不是我在本地完成的codepen问题)
我是Unity的新手,我已经意识到,如果资产商店没有付费的第三个插件,就很难在Unity上进行多分辨率的2D游戏.
我做了一些测试,我可以用这种方式做多分辨率支持:
1-将UI(按钮等)中的所有内容放置在渲染模式屏幕空间中的Canvas对象内 - 以16:9参考分辨率和固定宽度覆盖.
2-将其余的游戏对象放入一个名为GameManager的游戏对象中,并在渲染模式屏幕空间中使用Canvas Scaler组件 - 摄像机具有16:9参考分辨率,固定宽度和附加的主摄像头.之后,GameManager中的所有游戏对象,如玩家,平台等,都需要有一个RectTransform组件,例如CanvasRenderer组件和Image Component.
我可以继续以这种方式开发游戏吗,或者这是做错事情的方法吗?
问候
我发现这个 css 代码可以让我保持 div 的长宽比。
.container {
width: 100%;
height: 100%;
background-color: red;
position: absolute;
}
.wrapper {
width: 100%;
/* whatever width you want */
display: inline-block;
position: relative;
top: 50%;
transform: translate(0%, -50%);
}
.wrapper:after {
padding-top: 56.25%;
/* 16:9 ratio */
display: block;
content: '';
}
.main {
position: absolute;
top: 0;
bottom: 0;
right: 0;
left: 0;
/* fill parent */
background-color: deepskyblue;
/* let's see it! */
color: white;
}
Run Code Online (Sandbox Code Playgroud)
请参阅此 JSFiddle 示例:https ://jsfiddle.net/1uyo07tg/3/ …
我在显示没有centerCrop的风景图像时遇到问题.我尝试过PercentFramelayout,并以编程方式设置宽高比,如下所示:
laParams.percentLayoutInfo.aspectRatio = img.width.toFloat() / img.height.toFloat()
Run Code Online (Sandbox Code Playgroud)
结果还可以 - 应用程序显示没有centerCrop的所有风景图像:
但有时我会得到错误的宽高比:
我试过android:adjustViewBounds ="true"但它对我没有帮助.我用过ConstraintLayout,用XML设置宽高比如下:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
>
<android.support.v7.widget.AppCompatImageView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/photo"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintDimensionRatio="h,16:9"
app:layout_constraintHorizontal_chainStyle="spread"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
/>
</android.support.constraint.ConstraintLayout>
Run Code Online (Sandbox Code Playgroud)
我得到了很好的结果,但我加载了不同大小的图像.图像应该没有CenterCrop和FitXY.我没有找到关于设置宽高比的任何好答案,因为Constraintlayout
我想显示像instagram或vk这样的图像.
我正在使用以下方法将图像添加到TinyMCE编辑器:
var params = {
src: filename,
title: "Attached image: " + filename,
width: 500
};
ed.execCommand("mceInsertContent", false, ed.dom.createHTML("img", params));
Run Code Online (Sandbox Code Playgroud)
这会在编辑器中正确插入图像.但是,当用户点击图像时,他有能力调整图像大小.
我想知道是否有办法:
我必须保持 div 的纵横比相对于窗口调整大小的高度.
使用:(Y X)相对于宽度(X%)我也能保持高宽比padding-bottom;或padding-top;.
所以从类比来看,我尝试过使用 padding-left;
.wrapper{
height: Y%,
position: relative;
}
.wrapper:after{
padding-left: Y(x/y)%;
display:block;
}
Run Code Online (Sandbox Code Playgroud)
但百分比值padding-left不会给包装器带来任何宽度.
如何根据高度保持div的纵横比?
我在Visual Basic 2010中编写的这个工具应该为图像添加作者文本.用户可以设置字体不透明度和位置.为了方便起见,我想要一些位置预设,如右下角所示.我正在使用的计算是(在这种情况下右下角:
Dim textSize As Size = TextRenderer.MeasureText(tagString + curText, curFont)
tmpPos = New Point(srcImg.Width - textSize.Width - 10, srcImg.Height - textSize.Height - 10)
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,这适用于此示例图片.一些文本只是剪辑出来的地方.

第一个:1024x768 | 检测到的字体大小:680x72
第二名:1688x1125 | 检测到的字体大小:680x72
我怀疑这与图像的宽高比有关,但我不知道如何修复它.
文字是这样绘制的:
brush = New SolidBrush(color.FromArgb(alpha, color))
gr = Graphics.FromImage(editImg)
gr.DrawString(tagString + text, font, brush, pos)
HauptBild.Image = editImg
Run Code Online (Sandbox Code Playgroud)
我找到了这个http://www.codeproject.com/Articles/20923/Mouse-Position-over-Image-in-a-PictureBox,它回答了我的问题.
我正在尝试根据以下布局使用3个imageViews构建活动:
<------W-------> <------W-------->
^ +---------------+--------+---------------+
| | | | |
| | | | |
H | A | B | C |
| | | (1:3) | |
| | | | |
v +---------------+--------+---------------+
Run Code Online (Sandbox Code Playgroud)
我尝试了多种解决方案,却找不到可行的解决方案。最后一个用途:
match_constraint尺寸虽然我希望求解器能够做出所需的布局,但看起来该链定义了与所有视图相似的宽度,如屏幕截图所示。
我也尝试使用a,LinearLayout但似乎无法固定其中一个项目的纵横比。
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<ImageView
android:id="@+id/imageView1"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@android:color/holo_blue_bright"
app:layout_constraintBottom_toTopOf="@+id/guideline"
app:layout_constraintDimensionRatio=""
app:layout_constraintEnd_toStartOf="@+id/imageView2"
app:layout_constraintHorizontal_chainStyle="spread"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0"
app:srcCompat="@mipmap/ic_launcher" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@android:color/holo_blue_bright"
app:layout_constraintBottom_toTopOf="@+id/guideline" …Run Code Online (Sandbox Code Playgroud) android aspect-ratio android-constraintlayout constraint-layout-chains
我正在Django应用程序中使用bokeh 1.0.1版本,并且我想将微观表面图像显示为具有颜色编码的高度和颜色栏的可缩放图像图。从原则上讲,这是可行的,但是我很难获得具有正确纵横比的图,只显示没有周围空间的图像。
这是我要实现的示例:结果图应
sx=10,高度为的随机数据的图像sy=5(图像大小)(0,sx)和(0,sy)对于图像,我只使用nx=100x方向上的ny=100点和y方向上的点的随机数据。
这是我的第一种方法:
from bokeh.models.ranges import Range1d
from bokeh.plotting import figure, show
from bokeh.models import LinearColorMapper, ColorBar
import numpy as np
sx = 10
sy = 5
nx = 100
ny = 100
arr = np.random.rand(nx, ny)
x_range = Range1d(start=0, end=sx, bounds=(0,sx))
y_range = Range1d(start=0, end=sy, bounds=(0,sy))
# Attempt 1
plot = figure(x_range=x_range, y_range=y_range, match_aspect=True)
# Attempt 2
# plot = …Run Code Online (Sandbox Code Playgroud)