ide: IconDes rescale now has bicubic option

git-svn-id: svn://ultimatepp.org/upp/trunk@5975 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
cxl 2013-04-11 08:29:10 +00:00
parent cc1cb1ca1e
commit 8518433423
4 changed files with 271 additions and 26 deletions

View file

@ -49,8 +49,8 @@ file
ImageOp.h,
ImageOp.cpp,
ImageChOp.cpp,
ImageScale.cpp,
BiCubic.cpp,
ImageScale.cpp optimize_speed,
BiCubic.cpp optimize_speed,
MakeCache.cpp,
DrawRasterData.cpp,
iml.h,

View file

@ -0,0 +1,239 @@
PREMULTIPLIED
IMAGE_ID(Arrow)
IMAGE_ID(ArrowColor)
IMAGE_ID(ZoomMinus)
IMAGE_ID(ZoomPlus)
IMAGE_ID(Fill)
IMAGE_ID(FillColor)
IMAGE_ID(Move)
IMAGE_ID(MoveCursor)
IMAGE_ID(MoveMove)
IMAGE_ID(MoveOk)
IMAGE_ID(Lines)
IMAGE_ID(FreeHand)
IMAGE_ID(Circles)
IMAGE_ID(EmptyCircles)
IMAGE_ID(Rects)
IMAGE_ID(EmptyRects)
IMAGE_ID(Select)
IMAGE_ID(SelectRect)
IMAGE_ID(InvertSelect)
IMAGE_ID(CancelSelect)
IMAGE_ID(SetColor)
IMAGE_ID(Interpolate)
IMAGE_ID(Delete)
IMAGE_ID(MirrorX)
IMAGE_ID(SymmX)
IMAGE_ID(MirrorY)
IMAGE_ID(SymmY)
IMAGE_ID(FreeRotate)
IMAGE_ID(Rotate)
IMAGE_ID(PasteTransparent)
IMAGE_ID(PasteOpaque)
IMAGE_ID(Masked)
IMAGE_ID(Alpha)
IMAGE_ID(HotSpotA)
IMAGE_ID(HotSpotB)
IMAGE_ID(HotSpot)
IMAGE_ID(ResizeUp)
IMAGE_ID(ResizeDown)
IMAGE_ID(Rescale)
IMAGE_ID(LargeImage)
IMAGE_ID(FileIcon)
IMAGE_ID(FileProperties)
IMAGE_ID(Colors)
IMAGE_ID(BlurSharpen)
IMAGE_ID(Colorize)
IMAGE_ID(Chroma)
IMAGE_ID(Contrast)
IMAGE_ID(AlphaI)
IMAGE_ID(Duplicate)
IMAGE_ID(MoveUp)
IMAGE_ID(MoveDown)
IMAGE_ID(Insert)
IMAGE_ID(Edit)
IMAGE_ID(Remove)
IMAGE_ID(InsertIml)
IMAGE_ID(InsertFile)
IMAGE_ID(ExportPngs)
IMAGE_ID(InsertPaste)
IMAGE_ID(Pen1)
IMAGE_ID(Pen2)
IMAGE_ID(Pen3)
IMAGE_ID(Pen4)
IMAGE_ID(Pen5)
IMAGE_ID(Pen6)
IMAGE_ID(pen1)
IMAGE_ID(pen2)
IMAGE_ID(pen3)
IMAGE_ID(pen4)
IMAGE_ID(pen5)
IMAGE_ID(pen6)
IMAGE_BEGIN_DATA
IMAGE_DATA(120,156,237,154,189,110,219,48,20,133,25,180,128,81,20,16,138,46,93,50,36,208,168,41,111,224,205,91,166,248,9,220)
IMAGE_DATA(161,8,208,33,221,139,120,14,80,244,33,178,121,211,166,205,83,244,6,222,60,217,79,144,77,219,45,143,37,58,18,69)
IMAGE_DATA(74,164,126,93,135,39,184,240,159,206,119,15,41,145,10,226,176,43,118,197,114,162,172,198,18,65,35,102,32,161,145,50)
IMAGE_DATA(80,94,35,100,32,89,3,103,40,245,31,56,131,178,255,128,25,180,253,7,202,80,217,127,128,12,181,253,123,206,80,215)
IMAGE_DATA(51,95,189,247,103,195,239,71,165,241,142,209,95,234,53,100,6,85,143,161,251,43,223,31,248,60,156,90,255,83,200,48)
IMAGE_DATA(118,127,198,198,255,253,204,201,201,201,201,233,28,37,253,49,192,233,4,180,228,55,252,229,72,55,125,209,123,172,12,99)
IMAGE_DATA(245,117,253,223,250,143,213,251,20,250,59,57,57,57,57,57,57,57,57,57,189,27,125,225,63,10,93,242,138,89,241,155)
IMAGE_DATA(176,56,123,191,78,115,28,255,51,142,233,15,209,177,240,58,227,220,85,120,193,167,223,187,29,225,239,240,165,194,251,41)
IMAGE_DATA(67,151,35,62,244,81,121,69,165,57,98,141,255,144,149,221,173,244,85,253,205,64,234,103,75,125,153,248,231,43,125,85)
IMAGE_DATA(251,235,199,255,242,2,239,139,198,127,152,127,214,124,254,161,187,195,49,114,142,180,47,61,93,95,211,223,155,27,186,168)
IMAGE_DATA(102,168,174,63,100,190,92,242,231,240,27,48,148,186,56,83,198,175,32,216,217,250,5,227,59,99,187,31,158,183,59,237)
IMAGE_DATA(205,0,139,15,11,72,44,2,219,205,64,246,55,217,12,224,31,107,51,200,247,111,178,25,168,198,111,179,25,216,207,63)
IMAGE_DATA(228,54,131,17,24,125,108,6,19,174,153,239,251,219,32,8,8,143,120,141,247,77,192,56,118,58,157,174,163,40,74,54)
IMAGE_DATA(155,13,133,97,152,112,70,196,63,242,77,252,232,7,47,23,161,214,235,53,113,158,113,6,100,70,95,120,99,126,49,62)
IMAGE_DATA(62,62,210,243,243,115,130,76,156,49,229,135,120,89,150,32,43,63,207,69,127,100,70,95,120,193,120,125,125,69,142,3)
IMAGE_DATA(195,243,188,5,198,195,251,108,80,120,158,113,39,98,252,120,15,153,209,23,94,40,27,75,178,88,44,246,97,24,37,97)
IMAGE_DATA(136,185,65,69,249,108,147,172,124,49,143,240,192,43,24,251,253,158,182,219,132,30,30,136,238,239,137,51,19,138,162,181)
IMAGE_DATA(96,204,138,167,98,50,149,25,41,135,56,3,94,226,99,76,25,200,129,177,75,211,233,97,188,200,140,190,178,192,1,3)
IMAGE_DATA(57,48,22,204,125,249,116,250,145,56,159,42,241,83,69,243,57,209,106,165,244,7,152,99,156,79,157,48,14,204,133,166)
IMAGE_DATA(127,173,63,157,11,237,248,107,243,167,25,182,52,155,205,112,141,222,74,126,237,57,16,231,19,222,154,53,114,100,136,53)
IMAGE_DATA(37,10,175,209,87,190,6,53,140,227,154,22,149,173,237,91,150,95,3,154,223,12,156,206,80,203,22,223,7,202,94,27)
IMAGE_DATA(134,206,251,94,252,58,134,169,119,48,97,51,248,192,62,42,62,161,22,97,225,21,213,134,209,198,39,63,154,122,117,149)
IMAGE_DATA(30,32,61,218,244,63,220,17,242,143,102,227,56,246,179,240,23,114,151,124,150,253,171,252,38,255,221,168,245,11,213,48)
IMAGE_DATA(58,241,87,105,76,127,141,183,150,209,169,255,43,251,198,62,177,207,6,188,55,176,97,128,42,175,28,198,134,89,240,234)
IMAGE_DATA(158,159,49,199,248,226,107,153,173,9,71,149,175,17,71,145,175,21,71,199,54,228,148,250,119,193,145,143,209,169,226,124)
IMAGE_DATA(213,122,171,152,61,112,26,179,122,228,88,179,52,140,46,57,86,172,46,56,53,12,35,150,33,227,200,170,168,162,26,220)
IMAGE_DATA(132,156,254,31,217,222,224,181,126,233,66,212,46,118,197,103,5,175,238,185,228,83,93,248,70,28,153,169,88,68,77,56)
IMAGE_DATA(170,76,173,57,242,49,58,105,56,37,150,141,122,226,52,102,245,200,177,102,105,24,93,114,172,88,93,112,106,24,70,44)
IMAGE_DATA(67,198,145,85,81,5,253,3,103,197,147,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)
IMAGE_END_DATA(928, 9)
IMAGE_BEGIN_DATA
IMAGE_DATA(120,156,237,91,93,75,84,65,24,62,209,85,116,211,109,116,19,65,221,121,215,69,80,100,88,146,96,34,20,37,137,149)
IMAGE_DATA(174,149,26,65,234,178,106,88,54,165,161,101,74,126,212,69,69,70,31,16,97,10,65,23,94,68,23,221,245,3,250,59)
IMAGE_DATA(79,219,182,199,102,103,103,222,121,231,99,221,173,246,93,14,231,236,217,121,222,231,121,231,204,60,51,187,104,178,39,217)
IMAGE_DATA(157,236,72,118,38,14,129,226,81,169,72,243,35,13,249,94,76,30,57,191,233,186,206,21,133,43,6,39,139,43,82,141)
IMAGE_DATA(149,226,210,245,69,197,184,52,152,216,92,101,115,85,194,197,228,66,225,101,168,35,34,151,202,83,194,165,230,49,5,131)
IMAGE_DATA(11,155,175,242,207,173,249,41,94,7,158,152,92,54,30,22,95,66,143,167,248,92,82,30,13,23,151,199,139,79,203,19)
IMAGE_DATA(137,171,132,79,246,28,119,30,255,218,252,120,220,106,243,175,199,173,182,176,190,43,227,35,142,36,9,235,59,119,45,91)
IMAGE_DATA(195,243,135,143,27,187,242,175,26,136,24,15,58,132,215,7,15,195,181,43,214,21,175,95,232,252,177,84,78,110,141,54)
IMAGE_DATA(60,103,131,99,227,231,224,169,73,207,209,31,138,87,239,133,60,151,173,196,255,14,141,25,184,118,4,71,132,75,46,121)
IMAGE_DATA(117,224,230,47,195,51,115,104,181,106,86,41,91,148,76,26,195,74,231,141,103,228,224,240,155,114,148,77,250,20,227,193)
IMAGE_DATA(173,230,163,240,212,253,146,247,134,28,236,137,18,136,55,229,240,153,23,186,123,49,118,9,113,118,25,14,59,131,152,230)
IMAGE_DATA(64,221,87,219,112,242,251,98,169,182,33,248,173,222,105,248,98,40,124,232,96,175,198,202,232,179,178,235,38,56,7,207)
IMAGE_DATA(49,201,144,186,66,77,34,202,206,192,150,60,212,12,212,7,231,131,85,243,248,98,41,29,92,172,78,131,11,150,210,26)
IMAGE_DATA(162,33,68,143,78,19,167,61,133,247,233,127,238,115,241,49,3,83,31,215,205,192,144,200,245,144,241,174,81,199,199,195)
IMAGE_DATA(251,132,235,96,175,69,188,203,100,174,4,94,151,207,133,135,131,231,70,77,154,129,207,234,96,114,109,234,154,147,175,146)
IMAGE_DATA(215,181,164,223,20,92,253,62,26,40,188,143,126,219,96,214,233,15,25,159,92,124,168,254,90,55,131,109,1,156,149,143)
IMAGE_DATA(124,69,16,249,67,62,115,177,162,216,86,8,81,122,102,228,128,9,155,63,219,52,24,121,153,252,133,90,77,216,226,153)
IMAGE_DATA(210,96,229,183,232,224,240,83,253,80,109,254,52,55,133,53,113,115,116,184,142,65,117,12,115,177,91,26,26,51,8,21)
IMAGE_DATA(90,112,36,221,4,166,206,50,222,225,87,252,148,176,12,239,146,67,199,239,146,195,196,207,205,65,241,115,114,48,249,141)
IMAGE_DATA(57,116,252,137,67,63,170,252,82,123,175,250,213,244,46,245,107,38,169,21,47,243,11,125,59,50,135,133,95,250,136,199)
IMAGE_DATA(239,58,119,92,140,137,140,26,249,59,3,50,66,138,23,245,157,129,131,142,66,89,222,135,235,170,155,242,167,56,110,109)
IMAGE_DATA(114,200,207,200,181,143,133,210,71,37,88,139,14,221,216,160,250,88,29,195,186,118,90,172,195,57,4,91,32,175,97,51)
IMAGE_DATA(40,113,91,225,103,6,198,142,23,140,28,69,30,219,54,81,187,98,40,188,101,57,76,56,153,91,193,164,239,55,113,46)
IMAGE_DATA(102,144,152,106,33,6,187,202,167,171,133,208,96,236,187,146,251,154,149,60,73,159,53,61,120,97,51,101,193,200,97,194)
IMAGE_DATA(106,250,129,122,254,100,8,131,25,212,92,252,50,3,96,123,181,101,144,17,96,6,191,7,155,40,63,4,215,12,52,216)
IMAGE_DATA(95,135,77,131,137,151,203,79,113,115,52,216,248,109,58,56,252,148,134,106,243,115,52,152,184,57,58,92,199,96,221,12)
IMAGE_DATA(34,69,168,25,60,56,55,134,238,134,12,198,186,22,112,231,68,15,222,15,221,102,15,132,217,75,2,205,13,19,249,75)
IMAGE_DATA(81,56,46,28,31,197,43,177,196,50,131,119,163,51,24,104,155,220,196,238,63,144,195,217,230,1,140,183,119,176,204,96)
IMAGE_DATA(117,238,5,114,153,41,52,53,222,196,193,163,89,52,182,93,67,199,229,12,70,6,187,241,234,222,176,117,34,60,205,244)
IMAGE_DATA(99,226,106,22,221,189,131,104,239,237,67,107,238,34,206,76,158,69,223,226,57,60,92,238,195,199,133,113,114,50,174,207)
IMAGE_DATA(207,225,209,173,17,12,141,14,160,107,234,34,78,45,182,163,105,245,24,90,54,142,32,183,118,30,31,214,166,73,51,120)
IMAGE_DATA(222,211,137,199,163,253,184,53,115,5,151,159,116,224,228,167,99,216,247,99,111,225,111,243,59,54,14,97,122,162,133,228)
IMAGE_DATA(95,27,27,198,203,201,27,152,157,239,199,240,219,78,180,126,61,188,249,63,4,61,27,141,120,54,151,177,246,193,250,212)
IMAGE_DATA(24,86,150,179,152,127,115,29,217,245,211,184,244,189,5,87,190,157,196,194,74,15,123,12,124,126,124,23,159,215,23,177)
IMAGE_DATA(116,191,19,239,190,220,199,235,149,108,221,12,170,21,161,102,80,216,214,21,35,253,110,37,152,3,33,109,175,226,57,102)
IMAGE_DATA(160,197,165,239,25,102,64,226,25,91,100,19,142,163,3,76,60,101,6,54,253,212,115,224,212,207,253,154,96,202,99,226)
IMAGE_DATA(102,233,248,207,205,128,245,29,235,223,193,67,251,93,214,210,70,186,207,197,171,237,228,31,229,184,248,180,109,216,15,128)
IMAGE_DATA(225,252,49,234,151,63,227,224,217,241,151,141,191,232,120,107,252,4,19,243,133,0,0,0,0,0,0,0,0,0,0,0)
IMAGE_END_DATA(1216, 15)
IMAGE_BEGIN_DATA
IMAGE_DATA(120,156,237,155,221,113,219,48,12,128,217,164,119,189,166,119,189,60,244,209,131,100,145,12,226,13,184,128,23,209,20,126)
IMAGE_DATA(202,32,94,132,149,34,81,2,73,128,0,8,73,182,19,67,135,83,36,226,3,192,63,72,177,19,247,234,94,93,8,207)
IMAGE_DATA(78,32,97,210,86,249,130,124,208,248,35,120,177,143,10,31,125,132,79,193,206,50,181,198,111,229,69,178,193,248,171,228)
IMAGE_DATA(222,121,94,228,197,64,53,240,8,171,154,120,130,213,250,104,94,248,132,47,139,236,194,7,90,67,165,109,94,100,86,222)
IMAGE_DATA(154,255,141,241,107,172,159,181,214,94,43,11,125,48,178,79,49,24,159,81,22,254,17,255,81,12,246,231,191,97,49,200)
IMAGE_DATA(41,55,79,110,181,19,239,189,158,176,168,142,92,28,209,207,225,208,95,124,208,118,156,156,250,184,93,215,255,240,166,139)
IMAGE_DATA(239,98,220,99,159,254,251,168,115,211,65,192,159,166,182,110,188,60,78,126,134,92,186,78,152,252,49,189,188,92,198,49)
IMAGE_DATA(57,198,251,88,252,211,18,51,202,16,47,178,131,206,125,201,249,119,112,239,176,220,30,250,59,196,140,62,170,210,77,126)
IMAGE_DATA(8,121,131,243,0,99,85,152,185,61,246,45,207,255,50,157,227,184,188,77,54,29,104,131,10,215,98,7,238,119,136,45)
IMAGE_DATA(108,59,101,121,82,246,151,169,237,232,240,117,23,37,230,246,1,250,117,168,216,223,142,32,111,6,210,98,64,137,160,24)
IMAGE_DATA(88,101,246,129,249,210,60,169,48,91,33,159,228,161,145,140,41,124,112,241,145,246,196,7,197,87,124,138,63,47,32,214)
IMAGE_DATA(69,50,175,194,248,34,94,56,143,228,186,218,122,46,81,71,141,186,22,223,46,194,95,19,44,129,139,89,87,248,32,223)
IMAGE_DATA(211,4,62,106,239,120,148,143,164,159,66,62,93,188,126,82,41,239,55,226,25,31,121,44,148,39,124,96,113,72,126,105)
IMAGE_DATA(95,20,111,167,121,78,191,18,223,174,118,65,139,129,247,227,167,208,241,92,76,102,209,158,72,206,226,139,105,241,81,36)
IMAGE_DATA(85,97,81,31,88,252,10,155,251,128,40,184,39,226,193,248,140,188,119,108,238,72,252,108,49,173,16,159,241,49,179,68)
IMAGE_DATA(252,154,15,200,214,226,103,254,103,37,218,209,248,162,51,19,159,59,151,241,191,105,49,248,215,31,206,253,104,65,53,9)
IMAGE_DATA(88,147,205,55,236,90,190,214,180,221,211,215,158,177,238,117,188,238,33,239,61,251,184,166,175,91,154,231,107,197,122,212)
IMAGE_DATA(191,92,126,187,95,238,167,67,63,115,162,158,94,97,120,118,147,202,217,149,9,114,237,169,29,223,193,182,193,254,211,31)
IMAGE_DATA(229,75,106,147,227,229,181,81,96,23,120,251,197,46,84,237,83,187,64,218,227,118,90,123,105,30,154,254,41,198,77,96)
IMAGE_DATA(55,219,163,119,135,9,111,2,81,59,233,202,132,125,173,172,244,56,126,193,213,236,19,187,81,80,123,196,46,40,237,229)
IMAGE_DATA(121,104,250,167,27,55,227,132,35,223,181,221,170,88,158,23,218,221,81,176,138,157,136,179,178,93,79,179,124,133,225,217)
IMAGE_DATA(53,124,88,250,96,29,67,227,28,54,178,179,15,3,123,31,114,139,197,192,163,149,85,54,25,3,27,21,105,174,250,136)
IMAGE_DATA(76,126,70,120,234,126,226,135,137,77,249,162,120,54,174,146,215,196,207,199,191,165,255,98,225,120,107,59,103,227,193,26)
IMAGE_DATA(226,148,139,99,201,113,11,182,42,219,23,3,230,55,139,77,89,169,90,226,115,54,234,118,229,19,140,244,47,244,193,242)
IMAGE_DATA(76,1,66,121,113,225,83,228,79,216,137,120,36,126,228,242,179,166,240,73,214,16,39,22,118,101,217,174,24,172,181,145)
IMAGE_DATA(45,172,101,162,172,147,244,224,219,236,138,205,41,224,33,99,81,107,252,252,158,229,97,114,133,34,241,215,189,184,39,144)
IMAGE_DATA(65,179,214,62,50,237,213,231,54,57,135,248,241,240,117,12,179,251,60,79,199,116,15,50,9,203,112,195,217,251,69,93)
IMAGE_DATA(206,205,60,224,38,29,237,253,194,65,245,46,253,75,20,112,93,196,35,236,20,95,222,182,126,233,219,166,195,147,228,217)
IMAGE_DATA(137,254,7,244,94,164,117,48,22,190,109,35,148,188,110,67,164,188,126,99,176,188,171,111,144,114,252,116,27,101,225,219)
IMAGE_DATA(54,12,206,203,55,64,201,235,54,80,217,255,182,245,115,191,50,20,131,39,222,12,138,116,64,208,133,130,9,197,159,207)
IMAGE_DATA(231,79,133,108,126,22,242,40,203,229,159,179,249,53,55,78,48,126,252,57,191,174,248,25,219,43,69,72,195,251,188,128)
IMAGE_DATA(136,249,241,72,54,241,116,236,201,99,135,132,175,105,133,101,121,134,173,242,2,214,185,43,20,158,255,55,129,94,171,0)
IMAGE_END_DATA(1024, 18)
IMAGE_BEGIN_DATA
IMAGE_DATA(120,156,237,154,203,139,28,69,24,192,63,15,137,196,144,157,85,130,137,74,46,34,33,40,65,214,116,68,163,49,136,162)
IMAGE_DATA(193,1,189,133,48,24,92,145,44,147,127,34,150,26,31,39,131,151,61,120,9,153,184,30,124,28,12,18,5,115,10,138)
IMAGE_DATA(7,193,131,23,111,222,150,28,114,211,144,195,66,186,172,170,174,234,250,170,186,158,221,243,218,48,181,249,81,221,61,245)
IMAGE_DATA(251,170,171,186,250,155,222,222,192,50,44,195,60,21,202,254,41,140,31,125,152,110,110,110,10,214,214,214,4,211,246,149)
IMAGE_DATA(167,226,76,219,95,140,255,222,29,255,76,139,39,25,208,150,104,159,210,32,196,110,227,243,85,108,203,85,4,125,124,65)
IMAGE_DATA(228,49,236,26,49,18,125,94,19,162,1,159,95,159,55,242,37,149,71,180,175,185,206,248,19,118,239,186,9,251,150,182)
IMAGE_DATA(224,232,82,9,103,122,20,222,121,136,66,177,71,183,187,159,113,112,47,133,61,114,95,199,185,13,228,252,29,248,230,202)
IMAGE_DATA(22,124,249,249,93,184,124,177,132,95,175,82,248,251,15,10,87,191,165,48,60,75,123,188,221,144,221,0,95,141,74,184)
IMAGE_DATA(120,161,132,71,161,172,253,253,251,75,248,254,235,18,254,185,86,194,39,207,151,240,41,227,214,13,10,183,111,81,184,113)
IMAGE_DATA(157,174,28,120,152,158,100,237,120,13,215,126,40,225,187,43,119,225,208,142,173,218,223,203,206,243,139,143,40,124,112,152)
IMAGE_DATA(194,111,108,255,119,198,103,5,133,159,54,104,239,181,103,232,27,172,205,26,131,215,75,47,61,89,194,199,231,183,96,249)
IMAGE_DATA(190,155,198,28,156,58,65,97,192,234,191,36,111,51,222,125,149,197,6,122,252,17,160,167,159,168,106,232,177,243,126,253)
IMAGE_DATA(197,59,98,190,236,121,127,150,49,146,28,99,236,100,236,2,122,112,133,113,168,170,97,7,243,1,254,99,252,98,248,143)
IMAGE_DATA(49,78,48,14,51,120,187,183,24,207,49,88,159,59,79,2,61,48,168,106,120,144,249,15,192,191,204,249,217,240,185,247)
IMAGE_DATA(10,159,75,198,203,140,211,80,141,231,20,227,12,159,123,89,191,201,252,199,29,254,50,191,182,146,167,100,223,199,36,47)
IMAGE_DATA(48,142,203,122,133,249,61,135,159,14,31,191,233,47,146,193,92,37,131,118,160,56,52,194,200,218,247,249,174,120,35,68)
IMAGE_DATA(200,23,219,239,73,28,46,142,97,143,197,231,243,122,180,91,3,166,223,156,119,228,3,242,47,131,246,157,235,246,136,68)
IMAGE_DATA(125,134,246,237,254,81,59,183,127,36,1,159,159,138,111,252,121,84,101,82,201,96,125,125,61,72,81,20,198,190,207,87)
IMAGE_DATA(177,109,87,17,242,237,243,179,93,28,35,213,231,53,118,173,182,73,243,199,189,126,191,95,251,99,165,93,18,110,250,142)
IMAGE_DATA(120,220,85,4,125,81,67,78,18,142,250,188,158,96,18,214,62,1,35,185,225,253,70,255,36,226,147,4,124,126,42,25)
IMAGE_DATA(235,46,64,85,22,79,6,158,69,53,131,69,185,186,186,218,10,181,40,196,254,165,75,65,136,221,198,231,171,248,150,171)
IMAGE_DATA(8,250,162,150,200,99,216,53,98,112,31,226,62,175,9,209,172,154,190,40,198,188,96,95,82,121,68,251,106,254,176,79)
IMAGE_DATA(36,234,115,180,223,232,159,68,124,146,128,207,79,197,55,254,156,245,163,202,34,25,204,79,50,96,156,147,80,232,75,212)
IMAGE_DATA(103,104,191,223,215,136,207,8,242,135,67,14,133,31,37,120,155,81,112,7,237,139,152,46,95,245,103,185,138,160,207,183)
IMAGE_DATA(135,18,177,205,92,86,219,136,126,236,241,87,62,171,37,232,88,81,104,140,182,186,156,171,193,190,164,242,10,237,107,180)
IMAGE_DATA(95,72,212,103,104,191,209,127,17,241,139,4,124,126,42,190,241,231,81,21,43,25,180,189,249,181,159,154,0,50,125,18)
IMAGE_DATA(190,121,155,62,88,62,190,129,67,62,65,240,24,114,219,240,73,96,252,196,31,35,240,120,23,154,127,16,49,220,159,103)
IMAGE_DATA(20,154,217,190,209,159,43,70,236,92,154,215,18,28,215,39,199,87,46,208,216,90,240,247,175,252,240,90,168,124,199,181)
IMAGE_DATA(75,92,11,94,63,113,45,0,116,187,23,243,75,183,63,45,182,90,96,200,109,235,155,23,181,123,255,58,6,33,252,27)
IMAGE_DATA(59,140,25,163,139,111,199,233,238,183,159,139,122,51,37,145,103,249,142,68,12,222,235,151,118,243,76,172,180,155,255,249)
IMAGE_DATA(241,59,149,113,255,63,131,89,79,198,76,39,147,151,86,55,83,216,159,252,205,52,190,100,50,235,100,216,53,153,231,141)
IMAGE_DATA(185,173,63,238,47,179,182,197,242,35,201,160,109,103,226,209,133,154,191,43,39,187,202,179,235,220,190,21,232,28,162,248)
IMAGE_DATA(127,201,145,109,226,239,60,252,253,167,189,243,240,143,63,231,157,135,61,255,168,159,197,91,249,4,191,29,219,187,204,219)
IMAGE_DATA(255,64,28,83,233,122,49,131,239,62,34,201,192,244,237,155,241,222,126,1,170,253,69,50,216,126,101,82,201,128,140,97)
IMAGE_DATA(114,218,198,24,12,6,84,193,99,224,125,31,184,47,113,108,99,163,70,196,64,251,226,152,108,67,228,13,201,29,167,175)
IMAGE_DATA(206,193,114,137,125,220,229,139,186,66,181,197,174,218,78,241,213,121,212,144,129,96,224,243,21,46,95,120,68,251,18,195)
IMAGE_DATA(39,18,228,25,251,184,127,226,247,107,207,162,113,220,225,251,220,152,143,175,105,108,205,216,227,39,153,107,54,183,253,164)
IMAGE_DATA(98,136,226,72,6,93,50,93,206,227,121,212,15,62,174,79,201,143,140,193,30,79,195,189,240,97,5,223,87,219,54,46)
IMAGE_DATA(31,187,33,223,26,139,179,223,220,49,185,250,16,94,104,86,35,49,109,159,0,184,124,95,73,234,35,201,15,159,191,223)
IMAGE_DATA(87,79,15,93,253,180,39,147,166,15,168,255,124,191,25,199,197,34,25,132,253,200,24,182,101,50,240,184,160,198,226,234)
IMAGE_DATA(39,33,25,212,190,139,132,100,16,46,150,171,104,229,19,235,133,108,138,143,110,60,195,215,55,99,178,63,237,191,144,36)
IMAGE_DATA(151,9,252,154,208,54,123,215,190,111,197,37,198,112,181,207,75,72,216,247,253,248,99,36,251,212,253,141,146,219,127,51)
IMAGE_DATA(33,164,248,205,88,11,127,76,190,65,190,111,172,133,206,126,206,151,217,20,94,32,102,39,3,155,200,183,180,225,146,247)
IMAGE_DATA(159,174,81,46,142,3,242,155,15,183,113,249,145,115,77,245,27,231,160,136,249,248,28,185,143,199,101,143,209,55,254,192)
IMAGE_DATA(83,145,111,30,189,253,71,158,10,12,31,187,46,159,0,4,125,231,24,195,79,5,206,254,85,109,248,196,249,84,16,239)
IMAGE_DATA(159,64,232,169,192,159,12,20,36,64,252,190,104,251,197,150,85,254,7,12,101,150,58,0,0,0,0,0,0,0,0,0)
IMAGE_END_DATA(1472, 16)
IMAGE_BEGIN_DATA
IMAGE_DATA(120,156,237,88,93,15,131,32,12,100,159,207,254,255,63,203,154,249,176,140,64,41,61,228,112,227,26,163,2,215,54,210)
IMAGE_DATA(158,198,176,133,45,16,16,65,174,198,183,248,70,226,255,2,255,72,68,231,177,192,6,65,12,80,33,168,249,176,20,23)
IMAGE_DATA(194,239,145,63,194,159,189,121,80,49,88,98,194,194,96,49,232,181,113,104,179,215,184,168,32,160,243,26,111,246,194,103)
IMAGE_DATA(139,193,18,19,47,8,98,48,130,95,218,224,150,47,139,156,15,171,80,212,214,89,5,73,155,159,21,236,102,102,243,207)
IMAGE_DATA(11,210,151,1,242,102,68,226,88,98,91,54,186,69,12,122,242,173,207,142,89,164,236,102,60,59,159,7,210,63,131,150)
IMAGE_DATA(130,78,199,90,98,120,154,73,219,172,244,124,4,95,203,223,194,77,125,140,6,187,153,254,157,239,199,69,236,43,145,171)
IMAGE_DATA(88,49,179,155,88,130,152,89,248,25,191,139,101,8,57,146,214,63,251,245,67,172,224,204,234,208,26,108,191,127,138,41)
IMAGE_DATA(1,123,4,245,36,246,30,123,1,151,111,232,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)
IMAGE_END_DATA(256, 12)

View file

@ -2,8 +2,8 @@ LAYOUT(ImageLayout, 168, 108)
ITEM(Label, dv___0, SetLabel(t_("Name")).LeftPosZ(8, 40).TopPosZ(8, 19))
ITEM(EditString, name, LeftPosZ(52, 108).TopPosZ(8, 19))
ITEM(Label, dv___2, SetLabel(t_("Size")).LeftPosZ(8, 40).TopPosZ(32, 19))
ITEM(EditIntSpin, cx, Min(1).Max(8192).LeftPosZ(52, 44).TopPosZ(32, 19))
ITEM(EditIntSpin, cy, Min(1).Max(8192).LeftPosZ(116, 44).TopPosZ(32, 19))
ITEM(EditIntSpin, cx, Max(8192).Min(1).LeftPosZ(52, 44).TopPosZ(32, 19))
ITEM(EditIntSpin, cy, Max(8192).Min(1).LeftPosZ(116, 44).TopPosZ(32, 19))
ITEM(Label, dv___5, SetLabel(t_("x")).LeftPosZ(100, 12).TopPosZ(32, 16))
ITEM(Option, exp, SetLabel(t_("Export as icon.ico and .png")).LeftPosZ(8, 152).TopPosZ(56, 16))
ITEM(Button, ok, SetLabel(t_("OK")).LeftPosZ(28, 64).TopPosZ(80, 24))
@ -12,8 +12,8 @@ END_LAYOUT
LAYOUT(ImageSizeLayout, 168, 68)
ITEM(Label, dv___0, SetLabel(t_("Size")).LeftPosZ(8, 40).TopPosZ(8, 19))
ITEM(EditIntSpin, cx, Min(1).Max(8192).LeftPosZ(52, 44).TopPosZ(8, 19))
ITEM(EditIntSpin, cy, Min(1).Max(8192).LeftPosZ(116, 44).TopPosZ(8, 19))
ITEM(EditIntSpin, cx, Max(8192).Min(1).LeftPosZ(52, 44).TopPosZ(8, 19))
ITEM(EditIntSpin, cy, Max(8192).Min(1).LeftPosZ(116, 44).TopPosZ(8, 19))
ITEM(Label, dv___3, SetLabel(t_("x")).LeftPosZ(100, 12).TopPosZ(8, 16))
ITEM(Button, ok, SetLabel(t_("OK")).LeftPosZ(28, 64).TopPosZ(36, 24))
ITEM(Button, cancel, SetLabel(t_("Cancel")).LeftPosZ(96, 64).TopPosZ(36, 24))
@ -27,55 +27,56 @@ END_LAYOUT
LAYOUT(SharpenLayout, 220, 68)
ITEM(Label, dv___0, SetLabel(t_("Level")).LeftPosZ(8, 32).TopPosZ(8, 19))
ITEM(EditDoubleSpin, level, SetInc(0.05).Min(-2).Max(2).NotNull(true).LeftPosZ(44, 64).TopPosZ(8, 19))
ITEM(EditDoubleSpin, level, SetInc(0.05).Max(2).Min(-2).NotNull(true).LeftPosZ(44, 64).TopPosZ(8, 19))
ITEM(Label, dv___2, SetLabel(t_("Passes")).LeftPosZ(128, 36).TopPosZ(8, 19))
ITEM(EditIntSpin, passes, Min(1).Max(10).NotNull(true).LeftPosZ(168, 44).TopPosZ(8, 19))
ITEM(EditIntSpin, passes, Max(10).Min(1).NotNull(true).LeftPosZ(168, 44).TopPosZ(8, 19))
ITEM(Button, ok, SetLabel(t_("OK")).LeftPosZ(80, 64).TopPosZ(36, 24))
ITEM(Button, cancel, SetLabel(t_("Cancel")).LeftPosZ(148, 64).TopPosZ(36, 24))
END_LAYOUT
LAYOUT(ColorizeLayout, 148, 68)
ITEM(Label, dv___0, SetLabel(t_("Level")).LeftPosZ(8, 32).TopPosZ(8, 19))
ITEM(EditDoubleSpin, level, SetInc(0.05).Min(0).Max(1).NotNull(true).LeftPosZ(44, 64).TopPosZ(8, 19))
ITEM(EditDoubleSpin, level, SetInc(0.05).Max(1).Min(0).NotNull(true).LeftPosZ(44, 64).TopPosZ(8, 19))
ITEM(Button, ok, SetLabel(t_("OK")).LeftPosZ(8, 64).TopPosZ(36, 24))
ITEM(Button, cancel, SetLabel(t_("Cancel")).LeftPosZ(76, 64).TopPosZ(36, 24))
END_LAYOUT
LAYOUT(FreeRotateLayout, 148, 68)
ITEM(Label, dv___0, SetLabel(t_("Angle")).LeftPosZ(8, 32).TopPosZ(8, 19))
ITEM(EditIntSpin, angle, Min(0).Max(360).NotNull(true).LeftPosZ(44, 64).TopPosZ(8, 19))
ITEM(EditIntSpin, angle, Max(360).Min(0).NotNull(true).LeftPosZ(44, 64).TopPosZ(8, 19))
ITEM(Button, ok, SetLabel(t_("OK")).LeftPosZ(8, 64).TopPosZ(36, 24))
ITEM(Button, cancel, SetLabel(t_("Cancel")).LeftPosZ(76, 64).TopPosZ(36, 24))
END_LAYOUT
LAYOUT(RescaleLayout, 192, 92)
LAYOUT(RescaleLayout, 192, 108)
ITEM(Label, dv___0, SetLabel(t_("Width")).LeftPosZ(8, 32).TopPosZ(8, 19))
ITEM(EditInt, cx, Min(1).Max(9999).NotNull(true).LeftPosZ(44, 44).TopPosZ(8, 19))
ITEM(EditInt, cx, Max(9999).Min(1).NotNull(true).LeftPosZ(44, 44).TopPosZ(8, 19))
ITEM(Label, dv___2, SetLabel(t_("Height")).LeftPosZ(100, 36).TopPosZ(8, 19))
ITEM(EditInt, cy, Min(1).Max(9999).NotNull(true).LeftPosZ(140, 44).TopPosZ(8, 19))
ITEM(EditInt, cy, Max(9999).Min(1).NotNull(true).LeftPosZ(140, 44).TopPosZ(8, 19))
ITEM(Option, keep, SetLabel(t_("Keep aspect ratio")).LeftPosZ(8, 176).TopPosZ(32, 20))
ITEM(Button, ok, SetLabel(t_("OK")).LeftPosZ(52, 64).TopPosZ(60, 24))
ITEM(Button, cancel, SetLabel(t_("Cancel")).LeftPosZ(120, 64).TopPosZ(60, 24))
ITEM(Option, bicubic, SetLabel(t_("Use bicubic interpolation")).LeftPosZ(8, 176).TopPosZ(52, 20))
ITEM(Button, ok, SetLabel(t_("OK")).LeftPosZ(52, 64).TopPosZ(76, 24))
ITEM(Button, cancel, SetLabel(t_("Cancel")).LeftPosZ(120, 64).TopPosZ(76, 24))
END_LAYOUT
LAYOUT(ImgColorLayout, 188, 164)
ITEM(Label, dv___0, SetLabel(t_("R = R * ")).LeftPosZ(8, 40).TopPosZ(8, 19))
ITEM(EditDoubleSpin, r_mul, SetInc(0.05).Min(-10).Max(10).NotNull(true).LeftPosZ(48, 52).TopPosZ(8, 19))
ITEM(EditDoubleSpin, r_mul, SetInc(0.05).Max(10).Min(-10).NotNull(true).LeftPosZ(48, 52).TopPosZ(8, 19))
ITEM(Label, dv___2, SetLabel(t_("+")).LeftPosZ(112, 12).TopPosZ(8, 19))
ITEM(EditDoubleSpin, r_add, SetInc(0.05).Min(-10).Max(10).NotNull(true).LeftPosZ(128, 52).TopPosZ(8, 19))
ITEM(EditDoubleSpin, r_add, SetInc(0.05).Max(10).Min(-10).NotNull(true).LeftPosZ(128, 52).TopPosZ(8, 19))
ITEM(Label, dv___4, SetLabel(t_("G = G * ")).LeftPosZ(8, 40).TopPosZ(32, 19))
ITEM(EditDoubleSpin, g_mul, SetInc(0.05).Min(-10).Max(10).NotNull(true).LeftPosZ(48, 52).TopPosZ(32, 19))
ITEM(EditDoubleSpin, g_mul, SetInc(0.05).Max(10).Min(-10).NotNull(true).LeftPosZ(48, 52).TopPosZ(32, 19))
ITEM(Label, dv___6, SetLabel(t_("+")).LeftPosZ(112, 12).TopPosZ(32, 19))
ITEM(EditDoubleSpin, g_add, SetInc(0.05).Min(-10).Max(10).NotNull(true).LeftPosZ(128, 52).TopPosZ(32, 19))
ITEM(EditDoubleSpin, g_add, SetInc(0.05).Max(10).Min(-10).NotNull(true).LeftPosZ(128, 52).TopPosZ(32, 19))
ITEM(Label, dv___8, SetLabel(t_("B = B * ")).LeftPosZ(8, 40).TopPosZ(56, 19))
ITEM(EditDoubleSpin, b_mul, SetInc(0.05).Min(-10).Max(10).NotNull(true).LeftPosZ(48, 52).TopPosZ(56, 19))
ITEM(EditDoubleSpin, b_mul, SetInc(0.05).Max(10).Min(-10).NotNull(true).LeftPosZ(48, 52).TopPosZ(56, 19))
ITEM(Label, dv___10, SetLabel(t_("+")).LeftPosZ(112, 12).TopPosZ(56, 19))
ITEM(EditDoubleSpin, b_add, SetInc(0.05).Min(-10).Max(10).NotNull(true).LeftPosZ(128, 52).TopPosZ(56, 19))
ITEM(EditDoubleSpin, b_add, SetInc(0.05).Max(10).Min(-10).NotNull(true).LeftPosZ(128, 52).TopPosZ(56, 19))
ITEM(Option, all, SetLabel(t_("All color channels equal")).LeftPosZ(8, 148).TopPosZ(80, 15))
ITEM(Label, dv___13, SetLabel(t_("A = A * ")).LeftPosZ(8, 40).TopPosZ(104, 19))
ITEM(EditDoubleSpin, a_mul, SetInc(0.05).Min(-10).Max(10).NotNull(true).LeftPosZ(48, 52).TopPosZ(104, 19))
ITEM(EditDoubleSpin, a_mul, SetInc(0.05).Max(10).Min(-10).NotNull(true).LeftPosZ(48, 52).TopPosZ(104, 19))
ITEM(Label, dv___15, SetLabel(t_("+")).LeftPosZ(112, 12).TopPosZ(104, 19))
ITEM(EditDoubleSpin, a_add, SetInc(0.05).Min(-10).Max(10).NotNull(true).LeftPosZ(128, 52).TopPosZ(104, 19))
ITEM(EditDoubleSpin, a_add, SetInc(0.05).Max(10).Min(-10).NotNull(true).LeftPosZ(128, 52).TopPosZ(104, 19))
ITEM(Button, ok, SetLabel(t_("OK")).LeftPosZ(44, 64).TopPosZ(132, 24))
ITEM(Button, cancel, SetLabel(t_("Cancel")).LeftPosZ(116, 64).TopPosZ(132, 24))
END_LAYOUT

View file

@ -147,7 +147,7 @@ void IconDes::SmoothRescale()
return;
WithRescaleLayout<TopWindow> dlg;
CtrlLayoutOKCancel(dlg, "Rescale");
dlg.cx <<= dlg.cy <<= dlg.Breaker();
dlg.cx <<= dlg.cy <<= dlg.bicubic <<= dlg.Breaker();
Slot& c = Current();
BeginTransform();
Image bk = IsPasting() ? c.paste_image : c.image;
@ -156,12 +156,17 @@ void IconDes::SmoothRescale()
dlg.keep <<= true;
for(;;) {
Size sz(minmax((int)~dlg.cx, 1, 9999), minmax((int)~dlg.cy, 1, 9999));
Image m;
if(dlg.bicubic)
m = RescaleBicubic(bk, sz);
else
m = Rescale(bk, sz);
if(IsPasting()) {
c.paste_image = Rescale(bk, sz);
c.paste_image = m;
MakePaste();
}
else {
c.image = Rescale(bk, sz);
c.image = m;
Refresh();
}
SyncImage();