如何镜像和调整图像中固定宽度和高度的部分

2024-04-13

我正在构建“从照片标记”功能。

  1. 当用户移动或捏住图像上的方块时,
  2. PanResponder 改变 x 坐标(左)、y 坐标(上)、正方形长度(thumbSize)的状态
  3. 有了数据,我想实时显示正方形的部分

因此,下图应放置在上图中 A、All All 的左侧。

这是显示“裁剪”图像的渲染部分。

console.log(left) // 80
console.log(top) // 200
console.log(thumbSize) // 150
<Image
      source={{uri: image}}
      style={{height:70, width: 70, bottom: (-top), right: (-left)
      }} <- style is not complete. I'm putting some example code
/>

这是一个持续存在的问题:如何显示图像的唯一部分 https://stackoverflow.com/questions/47362222/how-to-show-the-only-part-of-the-image.

它有效,但解决方案不符合我的期望。

  • 它不会改变宽度和高度(我想修复将每个宽度和高度的图像大小从“正方形宽度”调整为“70”)
  • 它打破了整个风格(A,全部,所有东西都消失了)

我几天来一直试图解决这个想法,但找不到确切的方法。


Update:我几乎解决了这个问题,但调整大小很重要

我变了Image to CroppedImage(新组件)

<CroppedImage
      source={{uri: image}}
      cropTop={top}
      cropLeft={left}
      cropWidth={thumbSize}
      cropHeight={thumbSize}
      width={width(100)}
      height={width(100)}
      resizeMode="contain" />

Here is CroppedImage

return (
  <View style={[{
    overflow: 'hidden',
    height: this.props.cropHeight,
    width: this.props.cropWidth,
    backgroundColor: 'transparent'
    }, this.props.style]}>
    <Image style={{
      position: 'absolute',
      top: this.props.cropTop * -1,
      left: this.props.cropLeft * -1,
      width: this.props.width,
      height: this.props.height
    }}
      source={this.props.source}
      resizeMode={this.props.resizeMode}>
      {this.props.children}
    </Image>
  </View>
);

似乎有效但无法调整大小(从正方形宽度 x 高度到 70x70)。


我做了一个小提琴来展示您必须执行哪些计算才能正确定位标签图像并调整标签图像的大小:

$('#image').click(function(event) {
  var size_ratio = .6;

  var img_src = $(this).attr('src');
  
  var tag = $('#tag-rectangle');
  
  var top_position = tag.height()/2 - event.offsetX*size_ratio;
  var left_position = tag.width()/2 - event.offsetY*size_ratio;
  $('#tag-rectangle').css({
  	'background-image': 'url('+img_src+')',
    'background-position': top_position +'px '+ left_position + 'px',
    'background-size': $(this).width()*size_ratio + 'px ' + $(this).height()*size_ratio + 'px'
    });
});
#tag-rectangle {
  width: 50px;
  height: 50px;
  border: 1px solid black;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<img id="image" src="http://fakeimg.pl/250x100/" alt="">

<div id="tag-rectangle"></div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何镜像和调整图像中固定宽度和高度的部分 的相关文章

随机推荐

  • 组合框 - 键入选择,然后单击焦点外 - 不会选择键入的项目

    我的组合框有问题 我有一个事件处理程序OnClick它根据选择的项目刷新数据 问题是当这种情况发生时 下拉组合框列出各种选项 在键盘上键入以查找匹配的项目 组合框更改此选择并调用OnClick event 由于此选择 事件 我的屏幕刷新 单
  • 如何使用reactJs根据背景颜色更改字体颜色

    我的容器有动态背景 它将由用户更改 因此我需要根据背景颜色设置文本颜色 例如 我设置容器的黑色背景 然后我需要为文本设置白色 我正在为我的应用程序使用 ReactJs 和材料 UI 库 请建议一些好的路径 请参阅下面的示例代码 import
  • 尝试加载方向变化的新视图

    我正在尝试在 Xcode 中创建一个应用程序 当手机从一个方向旋转到另一个方向时 该应用程序将切换到新视图 这是 switchviewcontroller h 文件代码 import
  • 下标变量

    有没有什么方法可以强制 Mathematica 独立于无下标变量来处理下标变量 进一步来说 比如说 我有以下定义 Subscript b 1 1 2 Subscript b 2 3 4 b Join Subscript b 1 Subscr
  • VS .Net:在安装程序项目中发布“来自 的主要输出”的构建事件

    我在项目中使用以下构建后操作 将库合并到我的应用程序中 IF ConfigurationName Debug GOTO end cp TargetPath TargetDir app unmerged exe del TargetPath
  • 将对象序列化为 XML

    我有一个继承的 C 类 我已经成功地 构建 了该对象 但我需要将对象序列化为 XML 有简单的方法吗 看起来该类已设置为序列化 但我不确定如何获取 XML 表示形式 我的类定义如下 System CodeDom Compiler Gener
  • ARC 是否保留无主引用的计数?

    ARC 是否保留对对象的无主引用的计数 那么 如果一个对象的强引用计数达到 0 并且该对象的无主引用计数 gt 0 则该对象将被取消初始化但不会被取消分配 只有当强引用计数和无主引用计数达到 0 时 它才会被释放 我在 Medium 上的一
  • GCC 错误:非命名空间范围中的显式专业化

    我正在尝试移植以下代码 我知道该标准不允许在非名称空间范围内显式专业化 我应该使用重载 但我只是找不到在这种特殊情况下应用此技术的方法 class VarData public template lt typename T gt bool
  • vs2008/vs2010 在 TextBox 中是否有插入符位置更改事件?

    我需要留意文本框内的插入符号位置 有这方面的活动吗 我不想为此使用计时器 例如 每 10 毫秒检查一次位置是否发生变化 我正在使用 Windows 窗体 本机 Windows 控件不会为此生成通知 尝试解决此限制会带来痛苦 您只是无法分辨插
  • 一次性返回所有可枚举的yield return;不循环

    我有以下函数来获取卡的验证错误 我的问题涉及处理 GetErrors 两种方法具有相同的返回类型IEnumerable
  • git:小型项目工作

    我目前正在尝试遵循 Pro Git 书中提到的基于小型项目的工作组 http progit org book ch5 2 html http progit org book ch5 2 html 所以 这是我的设置 Live Website
  • EF4 CTP5 自引用分层实体映射

    好吧 这应该很容易 但我一直在抓狂 这是我的 POCO 与机器零件有关 因此零件可以包含在父零件中 public class Part public int ID get set public string Name get set pub
  • 如何更新数组范围变量中的值?

    我有一个存储存档的作用域变量 viewScope MY SCOPE new Array viewScope MY SCOPE push id0 0 true viewScope MY SCOPE push id1 1 false viewS
  • 扩展 std 命名空间被视为未定义行为的原因是什么?

    为什么要添加名字std命名空间未定义的行为 显而易见的答案是 因为标准是这么说的 例如在 C 14 命名空间 std 17 6 4 2 1 1 中 如果 C 程序向命名空间添加声明或定义 则其行为是未定义的std或到一个 命名空间内的命名空
  • 以编程方式在片段之间切换

    我想在 1 个活动中的 2 个片段之间切换 因此另一个片段应始终替换当前片段 但我找不到我的错误 我的主要活动 Override protected void onCreate Bundle savedInstanceState super
  • 键入lattice命令后图形不显示

    我安装了这个包lattice 并输入xyplot 没有错误消息 但也没有显示图表 我尝试切换到plot 而且效果很好 知道为什么会这样吗 谢谢你 尝试这个 require lattice require stats Depth lt equ
  • 如何正确安装SonataDoctrineMongoDBAdminBundle?

    我真的很紧张 因为缺乏足够的资源来安装 SonataDoctrineMongoDBAdminBundle 及其依赖项 例如 sonataUserBundle 我已经尝试安装这个捆绑包 15 天了 我一次又一次地做了奏鸣曲官方页面上所说的一切
  • 任何人都可以做到这一点吗?如何将 VS-Code 多个扩展从一种语言特定扩展切换到另一种语言特定扩展?

    有时我必须在 VS Code 上使用不同的编程语言 但问题是我必须禁用以前语言中使用的所有以前的扩展 这使得 VS Code 工作繁重 例如 如果我正在使用 PHP 并且必须转向 python 或 javascript 那么我必须禁用所有扩
  • Teamcity 9:如何将 git 短哈希添加到程序集信息修补程序中

    我正在尝试使用程序集信息修补程序来创建一个版本号 例如 1 2 3 1a3c19e 其中最后一位是 git 短哈希 我尝试使用 powershell 脚本构建步骤来创建短哈希 因为我找不到包含它的变量 并将其添加到系统变量中 但此构建步骤似
  • 如何镜像和调整图像中固定宽度和高度的部分

    我正在构建 从照片标记 功能 当用户移动或捏住图像上的方块时 PanResponder 改变 x 坐标 左 y 坐标 上 正方形长度 thumbSize 的状态 有了数据 我想实时显示正方形的部分 因此 下图应放置在上图中 A All Al