首页 > 其他分享 >图集分割软件(绿色、纯净、免费、共享)

图集分割软件(绿色、纯净、免费、共享)

时间:2024-06-12 09:47:05浏览次数:14  
标签:纯净 碎图 软件 tg 共享 TransformGroup border 图集

推荐一款自己编写的一款软件,图集分割软件(绿色、纯净、免费、共享)
因为开发的时候需要将一些图集软件还原成碎图。也找到可以用的,但都不够理想:
texturepack软件成生的图集没有相应的碎图工具,倒是有一些可用的, spine生成的图集本生自带碎图工具,操作麻烦,所以想自己动手写一个可以同时给二个软件碎图的工具.
ImageSplit 是基于wpf 的应用程序,是自己一边学习,顺手完成的作品:

1. 运行缩放,拖动图片
2. 支持spine、 texturepack等工具生成的图集
3. 支持显示碎图区域、名称
4. 绿色、纯净、免费、共享。
5. 软件分享地址:我用夸克网盘分享了「ImgSplitv1.0.0.zip」,点击链接即可保存。打开「夸克APP」,无需下载在线播放视频,畅享原画5倍速,支持电视投屏。
链接:https://pan.quark.cn/s/17bbe4874328

技术实现: 移动、缩放cavas:

         <Border x:Name="border" PreviewMouseDown="border_PreviewMouseDown" PreviewMouseMove="border_PreviewMouseMove" PreviewMouseWheel="Border_MouseWheel" ClipToBounds="True" Background="LightCyan">
        <Canvas x:Name="canvas" Width="{Binding ActualWidth, ElementName=border, Mode=OneWay}" Height="{Binding ActualHeight, ElementName=border, Mode=OneWay}" >
            <Image Source="{Binding Path=ImgPah}" ></Image>
        </Canvas>
    </Border>

代码实现:

    private void Border_MouseWheel(object sender, MouseWheelEventArgs e)
    {
        System.Windows.Point pt = e.GetPosition(border);
        TransformGroup? tg = canvas.RenderTransform as TransformGroup;
        if (tg == null) { tg = new TransformGroup(); canvas.RenderTransform = tg; }
        double s = ((double)e.Delta) / 1000.0 + 1.0;
        tg.Children.Add(new ScaleTransform(s, s, pt.X, pt.Y));
        e.Handled = true;
    }
    System.Windows.Point previousPt;
    bool isTranslateStart= false;
    private void border_PreviewMouseDown(object sender, MouseButtonEventArgs e)
    {
        if (e.LeftButton == MouseButtonState.Pressed )
        {
            previousPt = e.GetPosition(border);
            isTranslateStart = true;
        }
        e.Handled = true;      
    }

    private void border_PreviewMouseMove(object sender, MouseEventArgs e)
    {
        if(e.LeftButton == MouseButtonState.Pressed && isTranslateStart)
        {
            System.Windows.Point currentPt = e.GetPosition(border);
            Vector v= currentPt - previousPt;
            TransformGroup? tg = canvas.RenderTransform as TransformGroup;
            if (tg == null) { tg = new TransformGroup(); canvas.RenderTransform = tg; }
            tg.Children.Add(new TranslateTransform(v.X,v.Y) );
            previousPt = currentPt;
        }
        e.Handled= true;
    }

标签:纯净,碎图,软件,tg,共享,TransformGroup,border,图集
From: https://www.cnblogs.com/abc126655/p/18243320

相关文章

  • Unity图集
    概述相信在同学们学习过程中,在UI的的使用时候一定经常听说过图集的概念。Unity有UI的组件,有同学们好奇,那为什么还要使用图集呢?这就需要提到一个性能优化的问题了,因为过多的UI图片,会大幅增加DrawCall(绘制调用),Draw是什么呢,就是GPU对CPU的一次指令的绘制指令的调用,CPU将顶点,材......
  • 共享内存通信shm过程
    重要!!!先看这三篇segment.h-CSDN博客block.h-CSDN博客State.h-CSDN博客然后往下看初始化在listener.cc中对cyber进行初始化操作Init,并创建一个节点listener_nodemovex::cyber::Init(argv[0]);autolistener_node=movex::cyber::CreateNode("listener");创建读节......
  • Windows共享文件夹常见问题解决方法
    目录你不能访问此共享文件夹,因为你组织的安全策略阻止未经身份验证的来宾访问允许自己电脑去访问局域网其他电脑的共享文件允许局域网内别人电脑访问自己电脑的共享文件你不能访问此共享文件夹,因为你组织的安全策略阻止未经身份验证的来宾访问参考:https://blog.csdn.net/qq28574......
  • Redis在微服务架构中的角色:服务间通信与数据共享
    I.引言A.介绍微服务架构的概念和特点 微服务架构是一种设计模式,它将一个大型的单体应用分解成一组小的服务,每个服务都运行在其自身的进程中,独立地进行部署和扩展。这些服务之间通过轻量级的通信机制(如HTTPRESTfulAPI)进行交互,每个服务都围绕一个特定的业务功能进行组......
  • IO进程线程(十二)进程间通信 共享内存 信号灯集
    文章目录一、共享内存sharedmemory(shm)(一)特点(二)相关API1.创建共享内存2.映射共享内存到当前的进程空间3.取消地址映射4.共享内存控制(三)使用示例(四)属性二、信号灯集---控制进程间同步(一)特点(二)相关API1.创建一个信号灯集2.信号灯集控制函数3.信号灯集的操作函......
  • 共享磁盘架构
    什么是共享磁盘架构?共享磁盘架构是一种数据存储和处理方法,允许多台计算机访问共享存储系统。在此架构中,所有节点或服务器都可以直接访问同一磁盘或存储设备,从而使它们能够同时读取和写入数据。这种方法无需数据复制,并允许在网络中的不同节点之间实现无缝数据共享和协作。共享磁......
  • 2024 上海市居民小区的电动自行车使用共享充电服务的充电收费标准和依据 All In One
    2024上海市居民小区的电动自行车使用共享充电服务的充电收费标准和依据AllInOne电动自行车充电服务收费标准合法性、合理性按照实际的充电度数和电费价格收取电费,服务费应该单独收取每次充电收取的服务费的占比不能高于实际的消耗的电费价格运营商应该担当企业的社......
  • 【进程间通信】——共享内存
    目录共享内存(SharedMemory)前言虚拟内存驻留内存SystemV共享内存函数及其用途Unix系统的System-V版本中就引入了三种进程间通信方式,分别是消息队列、共享内存、信号量集。这三种通信方式也被称为System-VIPC对象。共享内存(SharedMemory)前言​在下文或接下来的讨论中......
  • 代理IP纯净度如何测试?
    在网络应用和数据采集等领域,代理IP被广泛使用,而代理IP的纯净度则直接影响其性能和可用性。代理IP的纯净度主要涉及到代理IP在网络传输过程中的稳定性、匿名性和安全性。今天就带大家一起了解代理IP纯净度对用户的重要性。第一,保护用户的隐私在网络世界中,用户的真实身份和位......
  • IP纯净度是什么,对用户有多么重要?
    在网络应用和数据采集等领域,代理IP被广泛使用,而代理IP的纯净度则直接影响其性能和可用性。代理IP的纯净度主要涉及到代理IP在网络传输过程中的稳定性、匿名性和安全性。今天就带大家一起了解代理IP纯净度对用户的重要性。第一,保护用户的隐私在网络世界中,用户的真实身份和位......