不同文本间取不同的地方并标注颜色

以前在做这块时,找了些代码,都没有这方面的功能,最后终于得自己写,懒不成,只有去参考了一些网上接近的例子写了一个,刚找了一下,这块网上也没有人发布过类似功能。


效果图:


核心代码(部分抄别人现成的,自己再改改):

public class Difference
    {
        public struct Item
        {
            public int StartA;
            public int StartB;
            public int deletedA;
            public int insertedB;
        }

        private struct SMSRD
        {
            internal int x, y;
        }

        public Item[] DiffText(string TextA, string TextB)
        {
            return (DiffText(TextA, TextB, false, false, false));
        }

        public static Item[] DiffText(string TextA, string TextB, bool trimSpace, bool ignoreSpace, bool ignoreCase)
        {
            Hashtable h = new Hashtable(TextA.Length + TextB.Length);
            DiffData DataA = new DiffData(DiffCodes(TextA, h, trimSpace, ignoreSpace, ignoreCase));
            DiffData DataB = new DiffData(DiffCodes(TextB, h, trimSpace, ignoreSpace, ignoreCase));
            h = null; // free up hashtable memory (maybe)
            LCS(DataA, 0, DataA.Length, DataB, 0, DataB.Length);
            return CreateDiffs(DataA, DataB);
        }

        public static Item[] DiffInt(int[] ArrayA, int[] ArrayB)
        {
            DiffData DataA = new DiffData(ArrayA);
            DiffData DataB = new DiffData(ArrayB);
            LCS(DataA, 0, DataA.Length, DataB, 0, DataB.Length);
            return CreateDiffs(DataA, DataB);
        }

        private static int[] DiffCodes(string aText, Hashtable h, bool trimSpace, bool ignoreSpace, bool ignoreCase)
        {
            string[] Lines;
            int[] Codes;
            int lastUsedCode = h.Count;
            object aCode;
            string s;
            aText = aText.Replace("

阅读终点,创作起航,您可以撰写心得或摘录文章要点写篇博文。去创作
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
### 回答1: 如果您想要在图上标记特殊点并添加备注,可以使用Matplotlib中的annotate()函数。这个函数可以在图形上添加文本注释,并且可以指定注释的位置和箭头的方向。下面是一个示例代码: ``` import matplotlib.pyplot as plt # 创建一个简单的图形 fig, ax = plt.subplots() ax.plot([1, 2, 3], [4, 5, 6]) # 在图形上添加注释 ax.annotate('特殊点', xy=(2, 5), xytext=(2.5, 5.5), arrowprops=dict(facecolor='red', shrink=0.05)) plt.show() ``` 这个代码会在图形上标记一个特殊点,并且在它的旁边添加一个注释。您可以根据需要调整注释的位置和箭头的方向。 ### 回答2: 在图上标记特殊点时不添加备注可能有不同的目的和需求。一方面,不添加备注可以减少图上的混乱和拥挤,使图形更简洁明了。特殊点的位置和含义可能已经在其他地方说明,添加备注可能会引起视觉上的干扰。特殊点的标记可以使用不同的符号、线条或颜色来突出显示,使图形更具有吸引力和可读性。 另一方面,不添加备注也可能存在一定的问题。在一些复杂的图形中,如果没有详细的说明和备注,读者可能会对特殊点的含义和作用产生疑惑。特殊点的标记可能需要特定的背景知识才能理解,而不添加备注可能会影响读者对图形的正确解读和理解。 因此,在图上标记特殊点时是否添加备注需要根据具体情况来决定。如果图形简单明了,特殊点的含义已经在其他地方说明清楚,那么不添加备注是可以接受的。但如果图形复杂,特殊点的含义需要进一步解释,那么添加备注是有必要的。添加适当的图例或说明,可以准确传达特殊点的含义,提供更全面的信息。 ### 回答3: 在图上标记特殊点而不添加备注可能是因为这些特殊点的意义并不需要通过文字来解释或表达。相反,这些特殊点可能通过其位置、形状、颜色或其他图形属性来传达特定的信息。 例如,如果在地图上标记了一个红色的圆圈,这个圆圈可能代表一个重要的地点或事件。通过红色和圆圈的形状,观察者能够直观地得知该地点或事件的重要性,而无需进一步解释或添加文字备注。 另外,有时候在图上添加太多文字备注可能会导致视觉上的混乱或阻碍信息的传递。特殊点的标记通常是简洁清晰的,以便观察者能够快速理解,并能够集中注意力在关键的图形元素上。 总而言之,通过在图上标记特殊点而不添加备注,可以提供更直观、简洁的信息传达方式,避免混乱和阻碍观察者的理解。这种方法可以根据特定的情景和目的而变化,但其主要目标是通过图形元素本身来传达信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jimil

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值