﻿<?xml version="1.0" encoding="utf-8"?>
<InstanceReport xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Version>2.2.0.7</Version>
  <hasSegments>false</hasSegments>
  <ReportName>Comprehensive Income</ReportName>
  <ReportLongName>0209 - Disclosure - Comprehensive Income</ReportLongName>
  <DisplayLabelColumn>true</DisplayLabelColumn>
  <ShowElementNames>false</ShowElementNames>
  <RoundingOption />
  <HasEmbeddedReports>false</HasEmbeddedReports>
  <Columns>
    <Column>
      <LabelColumn>false</LabelColumn>
      <Id>1</Id>
      <Labels>
        <Label Id="1" Label="6 Months Ended" />
        <Label Id="2" Label="Jun. 30, 2010" />
      </Labels>
      <CurrencyCode>USD</CurrencyCode>
      <FootnoteIndexer />
      <hasSegments>false</hasSegments>
      <hasScenarios>false</hasScenarios>
      <Segments />
      <Scenarios />
      <Units>
        <Unit>
          <UnitID>USD</UnitID>
          <UnitType>Standard</UnitType>
          <StandardMeasure>
            <MeasureSchema>http://www.xbrl.org/2003/iso4217</MeasureSchema>
            <MeasureValue>USD</MeasureValue>
            <MeasureNamespace>iso4217</MeasureNamespace>
          </StandardMeasure>
          <Scale>0</Scale>
        </Unit>
        <Unit>
          <UnitID>USDEPS</UnitID>
          <UnitType>Divide</UnitType>
          <NumeratorMeasure>
            <MeasureSchema>http://www.xbrl.org/2003/iso4217</MeasureSchema>
            <MeasureValue>USD</MeasureValue>
            <MeasureNamespace>iso4217</MeasureNamespace>
          </NumeratorMeasure>
          <DenominatorMeasure>
            <MeasureSchema>http://www.xbrl.org/2003/instance</MeasureSchema>
            <MeasureValue>shares</MeasureValue>
            <MeasureNamespace>xbrli</MeasureNamespace>
          </DenominatorMeasure>
          <Scale>0</Scale>
        </Unit>
      </Units>
      <CurrencySymbol>$</CurrencySymbol>
    </Column>
  </Columns>
  <Rows>
    <Row>
      <Id>2</Id>
      <Label>Comprehensive Income [Abstract]</Label>
      <Level>0</Level>
      <ElementName>us-gaap_ComprehensiveIncomeNoteAbstract</ElementName>
      <ElementPrefix>us-gaap</ElementPrefix>
      <IsBaseElement>true</IsBaseElement>
      <BalanceType>na</BalanceType>
      <PeriodType>duration</PeriodType>
      <ShortDefinition>No definition available.</ShortDefinition>
      <IsReportTitle>false</IsReportTitle>
      <IsSegmentTitle>false</IsSegmentTitle>
      <IsSubReportEnd>false</IsSubReportEnd>
      <IsCalendarTitle>false</IsCalendarTitle>
      <IsTuple>false</IsTuple>
      <IsAbstractGroupTitle>true</IsAbstractGroupTitle>
      <IsEquityPrevioslyReportedAsRow>false</IsEquityPrevioslyReportedAsRow>
      <IsEquityAdjustmentRow>false</IsEquityAdjustmentRow>
      <IsBeginningBalance>false</IsBeginningBalance>
      <IsEndingBalance>false</IsEndingBalance>
      <IsReverseSign>false</IsReverseSign>
      <PreferredLabelRole />
      <IsEPS>false</IsEPS>
      <FootnoteIndexer />
      <Cells>
        <Cell>
          <Id>1</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>false</IsNumeric>
          <IsRatio>false</IsRatio>
          <DisplayZeroAsNone>false</DisplayZeroAsNone>
          <NumericAmount>0</NumericAmount>
          <RoundedNumericAmount>0</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
          <DisplayDateInUSFormat>false</DisplayDateInUSFormat>
        </Cell>
      </Cells>
      <OriginalInstanceReportColumns />
      <ElementDataType>xbrli:stringItemType</ElementDataType>
      <SimpleDataType>string</SimpleDataType>
      <ElementDefenition>No definition available.</ElementDefenition>
      <IsTotalLabel>false</IsTotalLabel>
    </Row>
    <Row>
      <Id>3</Id>
      <Label>COMPREHENSIVE INCOME</Label>
      <Level>1</Level>
      <ElementName>us-gaap_ComprehensiveIncomeNoteTextBlock</ElementName>
      <ElementPrefix>us-gaap</ElementPrefix>
      <IsBaseElement>true</IsBaseElement>
      <BalanceType>na</BalanceType>
      <PeriodType>duration</PeriodType>
      <ShortDefinition>No definition available.</ShortDefinition>
      <IsReportTitle>false</IsReportTitle>
      <IsSegmentTitle>false</IsSegmentTitle>
      <IsSubReportEnd>false</IsSubReportEnd>
      <IsCalendarTitle>false</IsCalendarTitle>
      <IsTuple>false</IsTuple>
      <IsAbstractGroupTitle>false</IsAbstractGroupTitle>
      <IsEquityPrevioslyReportedAsRow>false</IsEquityPrevioslyReportedAsRow>
      <IsEquityAdjustmentRow>false</IsEquityAdjustmentRow>
      <IsBeginningBalance>false</IsBeginningBalance>
      <IsEndingBalance>false</IsEndingBalance>
      <IsReverseSign>false</IsReverseSign>
      <PreferredLabelRole>verboselabel</PreferredLabelRole>
      <IsEPS>false</IsEPS>
      <FootnoteIndexer />
      <Cells>
        <Cell>
          <Id>1</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>false</IsNumeric>
          <IsRatio>false</IsRatio>
          <DisplayZeroAsNone>false</DisplayZeroAsNone>
          <NumericAmount>0</NumericAmount>
          <RoundedNumericAmount>0</RoundedNumericAmount>
          <NonNumbericText>&lt;!--DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" --&gt;
   &lt;!-- Begin Block Tagged Note 9 - us-gaap:ComprehensiveIncomeNoteTextBlock--&gt;
   &lt;div style="font-family: 'Times New Roman',Times,serif"&gt;
   &lt;div align="left" style="font-size: 10pt; margin-top: 12pt"&gt;&lt;b&gt;9. COMPREHENSIVE INCOME&lt;/b&gt;
   &lt;/div&gt;
   &lt;div align="left" style="font-size: 10pt; margin-top: 6pt"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;The following tables set forth comprehensive income and its components:
   &lt;/div&gt;
   &lt;div align="center"&gt;
   &lt;table style="font-size: 10pt; text-align: left" cellspacing="0" border="0" cellpadding="0" width="100%"&gt;
   &lt;!-- Begin Table Head --&gt;
   &lt;tr valign="bottom"&gt;
       &lt;td width="76%"&gt;&amp;#160;&lt;/td&gt;
       &lt;td width="5%"&gt;&amp;#160;&lt;/td&gt;
       &lt;td width="1%"&gt;&amp;#160;&lt;/td&gt;
       &lt;td width="5%"&gt;&amp;#160;&lt;/td&gt;
       &lt;td width="1%"&gt;&amp;#160;&lt;/td&gt;
       &lt;td width="5%"&gt;&amp;#160;&lt;/td&gt;
       &lt;td width="1%"&gt;&amp;#160;&lt;/td&gt;
       &lt;td width="5%"&gt;&amp;#160;&lt;/td&gt;
       &lt;td width="1%"&gt;&amp;#160;&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr style="font-size: 8pt" valign="bottom"&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td nowrap="nowrap" align="center" colspan="6"&gt;&lt;b&gt;Three Months Ended&lt;/b&gt;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr style="font-size: 8pt" valign="bottom"&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td nowrap="nowrap" align="center" colspan="6" style="border-bottom: 0px solid #000000"&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr style="font-size: 8pt" valign="bottom"&gt;
       &lt;td nowrap="nowrap" align="left" style="border-bottom: 0px solid #000000"&gt;&lt;i&gt;Amounts in thousands&lt;/i&gt;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td nowrap="nowrap" align="center" colspan="2" style="border-bottom: 1px solid #000000"&gt;&lt;b&gt;2010&lt;/b&gt;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td nowrap="nowrap" align="center" colspan="2" style="border-bottom: 1px solid #000000"&gt;&lt;b&gt;2009&lt;/b&gt;&lt;sup style="font-size: 85%; vertical-align: text-top"&gt;  &lt;/sup&gt;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
   &lt;/tr&gt;
   &lt;!-- End Table Head --&gt;
   &lt;!-- Begin Table Body --&gt;
   &lt;tr valign="bottom" style="background: #cceeff"&gt;
       &lt;td&gt;
   &lt;div style="margin-left:15px; text-indent:-15px"&gt;Net income
   &lt;/div&gt;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td align="left"&gt;$&lt;/td&gt;
       &lt;td align="right"&gt;27,793&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td align="left"&gt;$&lt;/td&gt;
       &lt;td align="right"&gt;24,454&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr valign="bottom"&gt;
       &lt;td&gt;
   &lt;div style="margin-left:15px; text-indent:-15px"&gt;Foreign currency translation adjustment
   &lt;/div&gt;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td nowrap="nowrap" align="left"&gt;&amp;#160;&lt;/td&gt;
       &lt;td align="right"&gt;(7,578&lt;/td&gt;
       &lt;td nowrap="nowrap"&gt;)&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td align="right"&gt;16,011&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr style="font-size: 1px"&gt;
       &lt;td&gt;
   &lt;div style="margin-left:15px; text-indent:-15px"&gt;&amp;#160;
   &lt;/div&gt;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td nowrap="nowrap" colspan="2" align="right" style="border-top: 1px solid #000000"&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td nowrap="nowrap" colspan="2" align="right" style="border-top: 1px solid #000000"&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr valign="bottom" style="background: #cceeff"&gt;
       &lt;td&gt;
   &lt;div style="margin-left:15px; text-indent:-15px"&gt;Comprehensive income
   &lt;/div&gt;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td align="left"&gt;$&lt;/td&gt;
       &lt;td align="right"&gt;20,215&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td align="left"&gt;$&lt;/td&gt;
       &lt;td align="right"&gt;40,465&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr style="font-size: 1px"&gt;
       &lt;td&gt;
   &lt;div style="margin-left:15px; text-indent:-15px"&gt;&amp;#160;
   &lt;/div&gt;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td nowrap="nowrap" colspan="2" align="right" style="border-top: 1px solid #000000"&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td nowrap="nowrap" colspan="2" align="right" style="border-top: 1px solid #000000"&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
   &lt;/tr&gt;
   &lt;!-- End Table Body --&gt;
   &lt;/table&gt;
   &lt;/div&gt;
   &lt;div align="center"&gt;
   &lt;table style="font-size: 10pt; text-align: left" cellspacing="0" border="0" cellpadding="0" width="100%"&gt;
   &lt;!-- Begin Table Head --&gt;
   &lt;tr valign="bottom"&gt;
       &lt;td width="76%"&gt;&amp;#160;&lt;/td&gt;
       &lt;td width="5%"&gt;&amp;#160;&lt;/td&gt;
       &lt;td width="1%"&gt;&amp;#160;&lt;/td&gt;
       &lt;td width="5%"&gt;&amp;#160;&lt;/td&gt;
       &lt;td width="1%"&gt;&amp;#160;&lt;/td&gt;
       &lt;td width="5%"&gt;&amp;#160;&lt;/td&gt;
       &lt;td width="1%"&gt;&amp;#160;&lt;/td&gt;
       &lt;td width="5%"&gt;&amp;#160;&lt;/td&gt;
       &lt;td width="1%"&gt;&amp;#160;&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr style="font-size: 8pt" valign="bottom"&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td nowrap="nowrap" align="center" colspan="6"&gt;&lt;b&gt;Six Months Ended&lt;/b&gt;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr style="font-size: 8pt" valign="bottom"&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td nowrap="nowrap" align="center" colspan="6" style="border-bottom: 0px solid #000000"&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr style="font-size: 8pt" valign="bottom"&gt;
       &lt;td nowrap="nowrap" align="left" style="border-bottom: 0px solid #000000"&gt;&lt;i&gt;Amounts in thousands&lt;/i&gt;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td nowrap="nowrap" align="center" colspan="2" style="border-bottom: 1px solid #000000"&gt;&lt;b&gt;2010&lt;/b&gt;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td nowrap="nowrap" align="center" colspan="2" style="border-bottom: 1px solid #000000"&gt;&lt;b&gt;2009&lt;/b&gt;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
   &lt;/tr&gt;
   &lt;!-- End Table Head --&gt;
   &lt;!-- Begin Table Body --&gt;
   &lt;tr valign="bottom" style="background: #cceeff"&gt;
       &lt;td&gt;
   &lt;div style="margin-left:15px; text-indent:-15px"&gt;Net income &lt;sup style="font-size: 85%; vertical-align: text-top"&gt; &lt;/sup&gt;
   &lt;/div&gt;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td align="left"&gt;$&lt;/td&gt;
       &lt;td align="right"&gt;46,993&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td align="left"&gt;$&lt;/td&gt;
       &lt;td align="right"&gt;49,716&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr valign="bottom"&gt;
       &lt;td&gt;
   &lt;div style="margin-left:15px; text-indent:-15px"&gt;Foreign currency translation adjustment
   &lt;/div&gt;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td nowrap="nowrap" align="left"&gt;&amp;#160;&lt;/td&gt;
       &lt;td align="right"&gt;(174&lt;/td&gt;
       &lt;td nowrap="nowrap"&gt;)&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td align="right"&gt;10,005&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr style="font-size: 1px"&gt;
       &lt;td&gt;
   &lt;div style="margin-left:15px; text-indent:-15px"&gt;&amp;#160;
   &lt;/div&gt;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td nowrap="nowrap" colspan="2" align="right" style="border-top: 1px solid #000000"&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td nowrap="nowrap" colspan="2" align="right" style="border-top: 1px solid #000000"&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr valign="bottom" style="background: #cceeff"&gt;
       &lt;td&gt;
   &lt;div style="margin-left:15px; text-indent:-15px"&gt;Comprehensive income
   &lt;/div&gt;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td align="left"&gt;$&lt;/td&gt;
       &lt;td align="right"&gt;46,819&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td align="left"&gt;$&lt;/td&gt;
       &lt;td align="right"&gt;59,721&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr style="font-size: 1px"&gt;
       &lt;td&gt;
   &lt;div style="margin-left:15px; text-indent:-15px"&gt;&amp;#160;
   &lt;/div&gt;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td nowrap="nowrap" colspan="2" align="right" style="border-top: 1px solid #000000"&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td nowrap="nowrap" colspan="2" align="right" style="border-top: 1px solid #000000"&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
   &lt;/tr&gt;
   &lt;!-- End Table Body --&gt;
   &lt;/table&gt;
   &lt;/div&gt;
   &lt;/div&gt;
</NonNumbericText>
          <NonNumericTextHeader>&lt;!--DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" --&gt;
   &lt;!-- Begin Block Tagged Note</NonNumericTextHeader>
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
          <DisplayDateInUSFormat>false</DisplayDateInUSFormat>
        </Cell>
      </Cells>
      <OriginalInstanceReportColumns />
      <ElementDataType>us-types:textBlockItemType</ElementDataType>
      <SimpleDataType>textblock</SimpleDataType>
      <ElementDefenition>This label may include the following:  1) the amount of income tax expense or benefit allocated to each component of other comprehensive income, including reclassification adjustments, 2) the reclassification adjustments for each classification of other comprehensive income and 3) the ending accumulated balances for each component of comprehensive income. Components of comprehensive income include: (1) foreign currency translation adjustments; (2) gains and losses on foreign currency transactions that are designated as, and are effective as, economic hedges of a net investment in a foreign entity; (3) gains and losses on intercompany foreign currency transactions that are of a long-term-investment nature, when the entities to the transaction are consolidated, combined, or accounted for by the equity method in the reporting enterprise's financial statements; (4) change in the market value of a futures contract that qualifies as a hedge of an asset reported at fair value; (5) unrealized holding gains and losses on available-for-sale securities and that resulting from transfers of debt securities from the held-to-maturity category to the available-for-sale category; (6) a net loss recognized as an additional pension liability not yet recognized as net periodic pension cost; and (7)  the net gain or loss and net prior service cost or credit for pension plans and other postretirement benefit plans.</ElementDefenition>
      <ElementReferences>Reference 1: http://www.xbrl.org/2003/role/presentationRef
 -Publisher FASB
 -Name Statement of Financial Accounting Standard (FAS)
 -Number 130
 -Paragraph 14-26

</ElementReferences>
      <IsTotalLabel>false</IsTotalLabel>
    </Row>
  </Rows>
  <Footnotes />
  <NumberOfCols>1</NumberOfCols>
  <NumberOfRows>2</NumberOfRows>
  <HasScenarios>false</HasScenarios>
  <MonetaryRoundingLevel>UnKnown</MonetaryRoundingLevel>
  <SharesRoundingLevel>UnKnown</SharesRoundingLevel>
  <PerShareRoundingLevel>UnKnown</PerShareRoundingLevel>
  <HasPureData>false</HasPureData>
  <SharesShouldBeRounded>true</SharesShouldBeRounded>
</InstanceReport>
