Omegicus Digest:フォントのアンチエイリアスと暗号化および圧縮ライブラリ

こんにちは 現時点では、OSのアルファ版( tyts )を完成させています。何が起こるのでしょうか。それからそれを行う方法と時間はありませんが、別の投稿でお知らせします。



原則として、私のコーディングでは、何らかの方法で、すべてが軸を中心に回転します。 軸。 個々のマイクロプロジェクトに吐き出されることもありますが、これについては後で説明します。



最初のこと-フォントスムージング(アンチエイリアス)



私のフォントはラスター、8x8です。 なぜそうでないのか、そのように。 魅力は必要なものであるため、フォント出力を少し滑らかにしたかったのです。 しかし、いつものように、スムージングコードが非常に大きいか、大量のメモリを消費する場合、私は私ではありません。 したがって、スムージングされた文字がどのように見えるかを見て、それを再現することにしました。 ちなみに、これはサブピクセルの平滑化ではなく、単純なものです-つまり アンチエイリアス。



それで、それは私とどのように行われます。



文字を出力するとき、各ビットを調べて、それに応じて出力します。 ピクセル 上から2番目の行からこのプロセスに割り込んでいきます(最初の行はスキップします)。 単一のピクセルではなく、4つのグループ(現在、右、上、および右上)を処理します。 つまり 4ピクセルの正方形を処理します。



結果の「マトリックス」は処理手順に転送され、結果の組み合わせに応じて、すでにこれらの各ピクセルの色が変更されます。 すべての組み合わせが処理されるわけではなく、6つだけです-これで十分です。 2番目の図(つまり、右側の図)には、処理されたすべての組み合わせが表示されています(これらは一般的に使用可能な組み合わせであり、Sの文字専用ではありません)。 マトリックスが必要な場合は、黒(アクティブ)ピクセルをダークグレーに変更し、透明(白、非アクティブ)ピクセルをライトグレーに変更します。

マトリックスが6つの必須マトリックスのいずれでもない場合、マトリックスには一切触れません。 色(黒、グレーなど)はテスト専用です。当然、画面から透明ピクセルを取得する必要があり、「グレー」は半透明度です。



画像






そのため、行のすべてのピクセル。 次の行も同じ方法で処理します。 各行(1行目を除く)が2回処理されます-現在の行として、およびマトリックスの上からの行として。

しかし、実際にはここに結果があります。 私にとって-非常に優れた最小限のリソースと労力。



画像






コードとコンパイルされたプログラム例はこちらです。



2番目-暗号化と圧縮のためのすぐに使用できるソースコードのコレクション



彼はここにいます 。 実際には、すべてが明確です-暗号化(GOST(両方)、RC4、VMPC、RC6、AES、Serpent、Blowfish)、ハッシュ(CRC32 \ 64、MD5、GOST(両方))およびデータ圧縮(LZMA)のソースは、1つのライブラリに単純に収集されます、LZW、LZO)。



暗号セットの使用方法はgithubおよび例( test.exe 、そのソースにあります)にあります。



...しかし、圧縮の使用方法は次のとおりです。



事3-私の小さなWinKARアーカイバ。 上記の「ライブラリ」に基づきます。 Acc。 LZMA(ほぼ7zip)、LZWおよびLZOで圧縮できます。 LZWは単に美のためです 理論的にはLZMAとLZOの間の妥協点になっているはずですが、特に意味はありません。



パスワードが指定されている場合、アーカイバで暗号化を使用することもできます。 アーカイブ内の各ファイルに対して、独自の圧縮方式と独自の暗号化方式(およびパスワード)の両方を使用できます。



こちらまたはこちらからダウンロードできます。 ちなみに、アーカイバの重さはパッカーなしで38キロバイトです。



私は自分でもっとやったので、不便なインターフェースをおaびします。



All Articles