00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef __OPENKN_IMAGE__DRAW_LINE_HPP__
00027 #define __OPENKN_IMAGE__DRAW_LINE_HPP__
00028
00029
00030
00031 #include <iostream>
00032 #include <sstream>
00033 #include <string>
00034 #include <cstring>
00035 #include <algorithm>
00036
00037
00038
00039
00040 #include "Image.hpp"
00041 #include "ImageRGB.hpp"
00042 #include "ImageGS.hpp"
00043 #include "ImageException.hpp"
00044
00045
00046
00047
00048
00049 namespace kn{
00050
00051
00067 void drawLine(ImageRGB8u &image,
00068 const int x1, const int y1,
00069 const int x2, const int y2,
00070 const unsigned char r,
00071 const unsigned char g,
00072 const unsigned char b);
00073
00074
00083 void drawLine(ImageGS8u &image,
00084 const int x1, const int y1,
00085 const int x2, const int y2,
00086 const unsigned char greyLevel);
00087
00088
00096 void drawLine(ImageRGB8u &image,
00097 const double line[3],
00098 const unsigned char r,
00099 const unsigned char g,
00100 const unsigned char b);
00101
00102
00108 void drawLine(ImageGS8u &image,
00109 const double line[3],
00110 const unsigned char greyLevel);
00111
00116 void drawLineX(ImageRGB8u &image,
00117 const int x1, const int y1,
00118 const int x2, const int y2,
00119 const unsigned char r,
00120 const unsigned char g,
00121 const unsigned char b);
00123
00124
00129 void drawLineX(ImageGS8u &image,
00130 const int x1, const int y1,
00131 const int x2, const int y2,
00132 const unsigned char greyLevel);
00134
00135
00140 void drawLineY(ImageRGB8u &image,
00141 const int i1, const int j1,
00142 const int i2, const int j2,
00143 const unsigned char r,
00144 const unsigned char g,
00145 const unsigned char b);
00147
00148
00153 void drawLineY(ImageGS8u &image,
00154 const int x1, const int y1,
00155 const int x2, const int y2,
00156 const unsigned char greyLevel);
00158
00159
00164 void drawPixel(ImageRGB8u &image,
00165 int x0, int y0,
00166 const unsigned char r,
00167 const unsigned char g,
00168 const unsigned char b);
00170
00171
00176 void drawPixel(ImageGS8u &image,
00177 int x0, int y0,
00178 const unsigned char greyLevel);
00180
00181
00186 inline int int2FloatingInt(int nb){return (nb<<16) & 0xFFFF0000;}
00188
00189
00190
00191
00192
00193
00194
00195
00196 }
00197
00198
00199
00200
00201 #endif